Bug#750920: missing dependency, broken interpreter

2014-06-12 Thread Stefan Bühler
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

2014-06-12 Thread Scott Kitterman
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

2014-06-11 Thread Scott Kitterman
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

2014-06-08 Thread Stefan Bühler
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