Bug#705318: Please package latest upstream version
Package: unison
Followup-For: Bug #705318
Hi,
I needed lastest stable as well, so I packaged it myself. See the
detailed transcript below. Hope it helps.
Regards,
Yuri
$ dget http://http.debian.net/debian/pool/main/u/unison/unison_2.40.102-2.dsc
$ curl -LJO http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.48.3.tar.gz
$ cd unison-2.40.102
$ uupdate ../unison-2.48.3.tar.gz
$ rm -r ../unison-2.48.3.orig
$ cd ../unison-2.48.3
$ while quilt push; do quilt refresh; done
Applying patch 0001-Regenerate-generated-files.patch
patching file NEWS
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- rejects in file NEWS
patching file strings.ml
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- rejects in file strings.ml
Patch 0001-Regenerate-generated-files.patch does not apply (enforce with -f)
As far as I can see, strings.ml is generated by docs.ml (https://webdav.seas.upenn.edu/viewvc/unison/branches/2.40/doc/docs.ml?revision=537&view=markup). What generates NEWS I'm not sure. But both of them were changed in revision 490:
https://webdav.seas.upenn.edu/viewvc/unison?view=revision&revision=490
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.40/src/NEWS?r1=474&r2=490
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.40/src/strings.ml?r1=490&r2=489&pathrev=490
$ quilt delete -r debian/patches/0001-Regenerate-generated-files.patch
$ while quilt push; do quilt refresh; done
Applying patch 0002-Fix-typos-spotted-by-Lintian.patch
patching file INSTALL.win32-msvc
Hunk #1 FAILED at 475.
1 out of 1 hunk FAILED -- rejects in file INSTALL.win32-msvc
patching file copy.mli
Hunk #1 FAILED at 12.
1 out of 1 hunk FAILED -- rejects in file copy.mli
patching file globals.ml
Hunk #1 FAILED at 302.
1 out of 1 hunk FAILED -- rejects in file globals.ml
patching file osx.ml
Hunk #1 FAILED at 58.
Hunk #2 FAILED at 239.
Hunk #3 FAILED at 260.
Hunk #4 FAILED at 279.
Hunk #5 FAILED at 339.
Hunk #6 FAILED at 391.
Hunk #7 FAILED at 409.
Hunk #8 FAILED at 458.
8 out of 8 hunks FAILED -- rejects in file osx.ml
patching file transfer.ml
Hunk #1 FAILED at 103.
1 out of 1 hunk FAILED -- rejects in file transfer.ml
patching file transfer.mli
Hunk #1 FAILED at 80.
Hunk #2 FAILED at 98.
2 out of 2 hunks FAILED -- rejects in file transfer.mli
patching file transport.ml
Hunk #1 FAILED at 80.
1 out of 1 hunk FAILED -- rejects in file transport.ml
patching file uicommon.ml
Hunk #1 FAILED at 120.
1 out of 1 hunk FAILED -- rejects in file uicommon.ml
patching file uicommon.mli
Hunk #1 FAILED at 37.
1 out of 1 hunk FAILED -- rejects in file uicommon.mli
Patch 0002-Fix-typos-spotted-by-Lintian.patch does not apply (enforce with -f)
The second issue was fixed upstream as well:
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/INSTALL.win32-msvc?r1=211&r2=486
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/copy.mli?r1=473&r2=486
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/globals.ml?r1=484&r2=486
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/osx.ml?r1=465&r2=475
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/transfer.ml?r1=449&r2=475
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/transfer.mli?r1=449&r2=475
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/transport.ml?r1=449&r2=475
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/uicommon.ml?r1=484&r2=486
https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/uicommon.mli?r1=484&r2=486
$ quilt delete -r debian/patches/0002-Fix-typos-spotted-by-Lintian.patch
$ dch
Here's what I added to changelog:
unison (2.48.3-1) unstable; urgency=medium
* New upstream release
* Removed obsolete patches (fixed upstream)
-- Your Name Here <your.name.here@gmail.com> Sat, 25 Jul 2015 18:22:15 +0300
$ pdebuild
...
env HOME='/tmp/buildd/unison-2.48.3' ocaml debian/generate-manpage.ml '/tmp/buildd/unison-2.48.3/unison-2.48.3' >> debi
an/unison.1.in
Exception:
Failure
"No matching regexp for ' -clientHostName xxx set host name of client'".
debian/rules:114: recipe for target 'debian/unison.1.in' failed
make: *** [debian/unison.1.in] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
E: Failed autobuilding of package
As suggested by jwilk from #debian-mentors, I replaced "a-z" in regexps in debian/generate-manpage.ml with "a-zA-Z". And changelog entry is now as follows:
unison (2.48.3-1) unstable; urgency=medium
* New upstream release
* Removed obsolete patches (fixed upstream)
* Fixed generate-manpage.ml
-- Your Name Here <your.name.here@gmail.com> Sat, 25 Jul 2015 18:22:15 +0300
$ pdebuild
$ dch
The changelog entry added:
unison (2.48.3-1~jessie) jessie; urgency=medium
* Rebuild for jessie
-- Your Name Here <your.name.here@gmail.com> Sun, 26 Jul 2015 23:01:32 +0300
$ pdebuild
$ dch
Changelog entry:
unison (2.48.3-1~wheezy) wheezy; urgency=medium
* Rebuild for wheezy
-- Your Name Here <your.name.here@gmail.com> Mon, 27 Jul 2015 01:12:58 +0300
$ pdebuild
$ dch
Changelog entry:
unison (2.48.3-1~squeeze) squeeze; urgency=medium
* Rebuild for squeeze
-- Yuri Kanivetsky <yuri.kanivetsky@gmail.com> Mon, 27 Jul 2015 01:22:08 +0300
$ pdebuild
...
ocamlopt -g -I lwt -I ubase -I system -I fsmonitor -I fsmonitor/linux -I fsmonitor/windows -I system/generic -I lwt/gen
eric -c /tmp/buildd/unison-2.48.3/fsmonitor/linux/watcher.ml
File "/tmp/buildd/unison-2.48.3/fsmonitor/linux/watcher.ml", line 55, characters 5-10:
Error: Syntax error
make[1]: *** [fsmonitor/linux/watcher.cmx] Error 2
make[1]: Leaving directory `/tmp/buildd/unison-2.48.3'
make: *** [build/unison] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package
So, I decided to switch to wheezy's ocaml version: debian/control/Build-Depends: ocaml-nox (>= 3.10.0-8) -> ocaml-nox (>= 3.12.1-4~).
$ cd ..
$ dget http://http.debian.net/debian/pool/main/o/ocaml/ocaml_3.12.1-4.dsc
$ cd ocaml-3.12.1
$ dch
ocaml (3.12.1-4~squeeze) squeeze; urgency=medium
* Rebuild for squeeze
-- Your Name Here <your.name.here@gmail.com> Wed, 29 Jul 2015 14:38:14 +0300
$ pdebuild
...
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy: Depends: dh-ocaml (>= 1.0.0~) but it is not going to be installed.
Unable to resolve dependencies! Giving up...
$ cd ..
$ dget http://http.debian.net/debian/pool/main/d/dh-ocaml/dh-ocaml_1.0.7.dsc
$ cd dh-ocaml-1.0.7
$ dch
dh-ocaml (1.0.7~squeeze) squeeze; urgency=medium
* Rebuild for squeeze
-- Your Name Here <your.name.here@gmail.com> Wed, 29 Jul 2015 14:54:52 +0300
$ pdebuild
// copy resulting deb file to internal repo accessible from inside the build environment
# sudo pbuilder --update
$ cd ../ocaml-3.12.1
$ pdebuild
// copy 11 resulting deb files to internal repo accessible from inside the build environment
# sudo pbuilder --update
$ cd ../unison-2.48.3
$ pdebuild
...
The following packages have unmet dependencies:
liblablgtk2-ocaml-dev: Depends: ocaml-nox-3.11.2 which is a virtual package.
liblablgtk2-ocaml: Depends: ocaml-base-nox-3.11.2 which is a virtual package.
Unable to resolve dependencies! Giving up...
$ cd ..
$ dget http://http.debian.net/debian/pool/main/l/lablgtk2/lablgtk2_2.14.2+dfsg-3.dsc
$ cd lablgtk2-2.14.2+dfsg
$ dch
lablgtk2 (2.14.2+dfsg-3~squeeze) squeeze; urgency=medium
* Rebuild for squeeze
-- Your Name Here <your.name.here@gmail.com> Fri, 31 Jul 2015 03:29:00 +0300
$ pdebuild
// copy 9 resulting deb files to internal repo accessible from inside the build environment
# sudo pbuilder --update
$ cd ../unison-2.48.3
$ pdebuild
...
The following packages have unmet dependencies:
liblablgtk2-ocaml-dev: Depends: ocaml-nox-3.11.2 which is a virtual package.
liblablgtk2-ocaml: Depends: ocaml-base-nox-3.11.2 which is a virtual package.
Unable to resolve dependencies! Giving up...
Rebuilding lablgtk2 I see:
$ cd ../lablgtk2-2.14.2+dfsg
$ pdebuild
...
The following packages have unmet dependencies:
liblablgl-ocaml: Depends: ocaml-base-3.11.2 which is a virtual package.
Depends: ocaml-base-nox-3.11.2 which is a virtual package.
liblablgl-ocaml-dev: Depends: ocaml-3.11.2 which is a virtual package.
Depends: ocaml-nox-3.11.2 which is a virtual package.
The following actions will resolve these dependencies:
Install the following packages:
1) camlp4 [3.11.2-2 (oldoldstable)]
2) dh-ocaml [0.9.6 (oldoldstable)]
3) ocaml [3.11.2-2 (oldoldstable)]
4) ocaml-base [3.11.2-2 (oldoldstable)]
5) ocaml-base-nox [3.11.2-2 (oldoldstable)]
6) ocaml-interp [3.11.2-2 (oldoldstable)]
7) ocaml-nox [3.11.2-2 (oldoldstable)]
So I decide I've got to backport lablgl as well:
$ cd ..
$ dget http://http.debian.net/debian/pool/main/l/lablgl/lablgl_1.04-5.dsc
$ cd lablgl-1.04
$ dch
lablgl (1.04-5~squeeze) squeeze; urgency=medium
* Rebuild for squeeze
-- Your Name Here <your.name.here@gmail.com> Mon, 03 Aug 2015 03:34:54 +0300
$ pdebuild
// copy 2 resulting deb files to internal repo accessible from inside the build environment
# sudo pbuilder --update
$ cd ../lablgtk2-2.14.2+dfsg
$ pdebuild
// copy 9 resulting deb files to internal repo accessible from inside the build environment
# sudo pbuilder --update
$ cd ../unison-2.48.3
$ pdebuild
-- System Information:
Debian Release: 8.0
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Reply to: