sphinxbase: build appears broken for multiple python3 versions

Emilio Pozuelo Monfort pochu at debian.org
Wed Oct 10 17:27:18 BST 2018


Control: reassign -1 src:sphinxbase

On Tue, 25 Sep 2018 23:55:56 +0200 Andreas Beckmann <anbe at debian.org> wrote:
> Followup-For: Bug #903698
> 
> There is still something broken in python3-sphinxbase:
> 
> The package ships
>   /usr/lib/python3/dist-packages/sphinxbase/_sphinxbase.so.0.0.0
> ans the dangling symlink
>   /usr/lib/python3.6/site-packages/sphinxbase/_sphinxbase.so -> _sphinxbase.so.0.0.0

It's still broken because this is a packaging bug in sphinxbase.
debian/python3-sphinxbase.install has:

debian/tmp/usr/lib/python3* usr/lib

That is causing both the python3.6/ and python3.7/ contents to be moved to
usr/lib, causing files with the same name (most or all) to be overwritten,
and ending up with this content after the dh_python3 magic:

./usr/lib/python3.6/site-packages/sphinxbase/_sphinxbase.so -> _sphinxbase.so.0.0.0
./usr/lib/python3/dist-packages/sphinxbase/__init__.py
./usr/lib/python3/dist-packages/sphinxbase/_sphinxbase.cpython-37m-i386-linux-gnu.so
./usr/lib/python3/dist-packages/sphinxbase/_sphinxbase.so.0.0.0
./usr/lib/python3/dist-packages/sphinxbase/sphinxbase.py

Note how there's only one shared module, because the rename happens at
dh_python3 and before that, both the 3.6 and the 3.7 had the same name and one
overwrote the other. With the attached debdiff, we keep python3.6 and python3.7
as they should be, which allows dh_python3 to do its job, ending up with:

./usr/lib/python3/dist-packages/sphinxbase/__init__.py
./usr/lib/python3/dist-packages/sphinxbase/_sphinxbase.cpython-36m-x86_64-linux-gnu.so
./usr/lib/python3/dist-packages/sphinxbase/_sphinxbase.cpython-37m-x86_64-linux-gnu.so
./usr/lib/python3/dist-packages/sphinxbase/sphinxbase.py

And this gives the proper dependencies:

Depends: [...], python3 (<< 3.8), python3 (>= 3.6~), python3:any (>= 3.0~)

Cheers,
Emilio
-------------- next part --------------
diff -Nru sphinxbase-0.8+5prealpha+1/debian/changelog sphinxbase-0.8+5prealpha+1/debian/changelog
--- sphinxbase-0.8+5prealpha+1/debian/changelog	2018-04-28 11:53:25.000000000 +0200
+++ sphinxbase-0.8+5prealpha+1/debian/changelog	2018-10-10 12:38:01.000000000 +0200
@@ -1,3 +1,10 @@
+sphinxbase (0.8+5prealpha+1-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix python3 bindings.
+
+ -- Emilio Pozuelo Monfort <pochu at debian.org>  Wed, 10 Oct 2018 12:38:01 +0200
+
 sphinxbase (0.8+5prealpha+1-2) unstable; urgency=medium
 
   * Make testsuite just fail on big-endian archs, which just don't work yet.
diff -Nru sphinxbase-0.8+5prealpha+1/debian/python3-sphinxbase.install sphinxbase-0.8+5prealpha+1/debian/python3-sphinxbase.install
--- sphinxbase-0.8+5prealpha+1/debian/python3-sphinxbase.install	2018-04-28 11:41:31.000000000 +0200
+++ sphinxbase-0.8+5prealpha+1/debian/python3-sphinxbase.install	2018-10-10 12:37:44.000000000 +0200
@@ -1 +1 @@
-debian/tmp/usr/lib/python3* usr/lib
+debian/tmp/usr/lib/python3*
diff -Nru sphinxbase-0.8+5prealpha+1/debian/python-sphinxbase.install sphinxbase-0.8+5prealpha+1/debian/python-sphinxbase.install
--- sphinxbase-0.8+5prealpha+1/debian/python-sphinxbase.install	2015-09-19 16:35:52.000000000 +0200
+++ sphinxbase-0.8+5prealpha+1/debian/python-sphinxbase.install	2018-10-10 12:37:58.000000000 +0200
@@ -1 +1 @@
-debian/tmp/usr/lib/python2* usr/lib
+debian/tmp/usr/lib/python2*


More information about the Pkg-a11y-devel mailing list