Bug#750920: missing dependency, broken interpreter
Hi, On Thu, 12 Jun 2014 01:49:37 -0400 Scott Kitterman deb...@kitterman.com wrote: On Sunday, June 08, 2014 15:00:00 Stefan Bühler wrote: Hi, attic uses #!/usr/bin/python3 as interpreter, but has native (cython) modules that were compiled with a certain python3 version (3.3 in the archive, but depends on python3-dev version at build time). ... Rebuilding the package with python3-dev from current testing also fixes the problem. Just rebuilding doesn't solve the entire problem. The package depends are still wrong and it'll just break again the next time we change python3 versions. NMU debdiff attached. I intend to upload this to delay/3. Yes; I thought it was clear from context that rebuilding is only a temporary workaround, not a real fix. sorry. I get new lintian errors with your diff applied: E: attic source: package-uses-debhelper-but-lacks-build-depends E: attic: missing-dependency-on-libc needed by usr/lib/python3/dist-packages/attic/chunker.cpython-34m-x86_64-linux-gnu.so and 1 others I'd use: Build-Depends: debhelper (= 8), dh-python, python3-dev, python3-openssl, python3-msgpack and only one dpkg-gencontrol call (the second overwrites the first for me): dpkg-gencontrol -Pdebian/$(package) -Tdebian/substvars -Tdebian/attic.substvars The clean rules should also remove Attic.egg-info and attic/testsuite/__pycache__ (although the test-suite isn't called and doesn't work, the cleanup should be done imho), otherwise a rebuild without manual cleanup didn't work for me. Apart from that I guess your diff fixes the problem, although I don't think requiring a specific version of python3 is nice; I would have preferred having a python3.x dependency and #!/usr/bin/python3.x Some other time perhaps :) regards, Stefan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#750920: missing dependency, broken interpreter
The debhelper one is a false positive. dh_python3 is a debhelper add-on, but the way I used it doesn't actually require debhelper. I missed I was overwriting the libc depends. I'll fix that. Thanks. Using the versioned python3 depends is the standard Debian way to do it (makes more sense in cases where you're supporting multiple versions and you don't want to force them all to be installed). -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#750920: missing dependency, broken interpreter
On Sunday, June 08, 2014 15:00:00 Stefan Bühler wrote: Package: attic Version: 0.10-1 Severity: grave Hi, attic uses #!/usr/bin/python3 as interpreter, but has native (cython) modules that were compiled with a certain python3 version (3.3 in the archive, but depends on python3-dev version at build time). ... Rebuilding the package with python3-dev from current testing also fixes the problem. Just rebuilding doesn't solve the entire problem. The package depends are still wrong and it'll just break again the next time we change python3 versions. NMU debdiff attached. I intend to upload this to delay/3.diff -Nru attic-0.10/debian/changelog attic-0.10/debian/changelog --- attic-0.10/debian/changelog 2014-02-06 11:47:23.0 -0500 +++ attic-0.10/debian/changelog 2014-06-12 01:39:14.0 -0400 @@ -1,3 +1,16 @@ +attic (0.10-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Generate correct python interpreter dependencies with dh_python3 +(Closes: #750920) +- Add dh-python to build-depends +- Add python3:Depends +- Add dh_python3 to debian/rules +- Add additional dpkg-gencontrol call to expand python3:Depends generated + by dh_python3 + + -- Scott Kitterman sc...@kitterman.com Wed, 11 Jun 2014 14:57:18 -0400 + attic (0.10-1) unstable; urgency=medium * New upstream version. diff -Nru attic-0.10/debian/control attic-0.10/debian/control --- attic-0.10/debian/control 2014-02-06 11:47:37.0 -0500 +++ attic-0.10/debian/control 2014-06-12 01:38:11.0 -0400 @@ -2,7 +2,7 @@ Section: admin Priority: extra Maintainer: Clint Adams cl...@softwarefreedom.org -Build-Depends: python3-dev, python3-openssl, python3-msgpack +Build-Depends: dh-python, python3-dev, python3-openssl, python3-msgpack Standards-Version: 3.9.5 Homepage: https://pythonhosted.org/Attic/ Vcs-Git: git://git.debian.org/collab-maint/attic.git @@ -10,7 +10,7 @@ Package: attic Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, python3, python3-openssl, python3-msgpack +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-openssl, python3-msgpack Recommends: python3-llfuse Description: deduplicating backup program Attic is a deduplicating backup program written in Python. The main diff -Nru attic-0.10/debian/rules attic-0.10/debian/rules --- attic-0.10/debian/rules 2013-11-25 09:15:01.0 -0500 +++ attic-0.10/debian/rules 2014-06-12 01:41:52.0 -0400 @@ -14,6 +14,7 @@ $(checkdir) rm -f debian/substvars debian/files build-arch rm -rf debian/attic debian/tmp attic/__pycache__ build __pycache__ + rm -rf debian/attic.* build: build-arch build-indep build-indep: @@ -26,6 +27,7 @@ binary: binary-indep binary-arch binary-indep: checkroot binary-arch: checkroot install + dh_python3 -a $(INSTALL_DIR) debian/$(package)/DEBIAN \ debian/$(package)/usr/share/doc/$(package) $(INSTALL_FILE) debian/copyright debian/$(package)/usr/share/doc/$(package) @@ -37,6 +39,7 @@ cd debian/$(package) find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum DEBIAN/md5sums dpkg-shlibdeps debian/$(package)/usr/lib/python3/dist-packages/$(package)/*.so dpkg-gencontrol -Pdebian/$(package) + dpkg-gencontrol -Pdebian/$(package) -Tdebian/attic.substvars dpkg --build debian/$(package) .. install: build
Bug#750920: missing dependency, broken interpreter
Package: attic Version: 0.10-1 Severity: grave Hi, attic uses #!/usr/bin/python3 as interpreter, but has native (cython) modules that were compiled with a certain python3 version (3.3 in the archive, but depends on python3-dev version at build time). As testing now switched to 3.4 as default, the attic python3 dependency means that /usr/bin/python3 is always python3.4, which does not work with the python3.3 native modules in attic. attic should imho depend on the python3 sub version used to compile, and use this explicit version in the #!/usr/bin/python3... line too. Without this the package is mostly useless and may lead to data loss as the backup system is not working. (although the old backups should keep working as soon as this is fixed). As a workaround one can install python3.3 and change the first line in /usr/bin/attic to #!/usr/bin/python3.3; remember this also needs to be done on the server for repositores over SSH. Rebuilding the package with python3-dev from current testing also fixes the problem. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org