Bug#920337: python3-igraph: ships header in /usr/include/python3.7
Hi, I had a look into this issue. It does _not_ look like a bug in the python-igraph packaging to me. Nicolas suggested to patch debian/patches/3.7/distutils-install-layout.diff from python3-stdlib-extensions. It does in fact look like the actual issue: +'unix_local': { +'purelib': '$base/local/lib/python$py_version_short/dist-packages', +'platlib': '$platbase/local/lib/python$py_version_short/dist-packages', +'headers': '$base/local/include/python$py_version_short/$dist_name', +'scripts': '$base/local/bin', +'data' : '$base/local', +}, +'deb_system': { +'purelib': '$base/lib/python3/dist-packages', +'platlib': '$platbase/lib/python3/dist-packages', +'headers': '$base/include/python$py_version_short/$dist_name', +'scripts': '$base/bin', +'data' : '$base', +}, These headers entries seem wrong to me, $abiflags is missing. should be respectively '$base/local/include/python$py_version_short$abiflags/$dist_name' and '$base/include/python$py_version_short$abiflags/$dist_name' Matthias: should we open a python3-stdlib-extensions bug ? Do you think this issue can be fixed in time for Buster or should we upload a temporary fix for python-igraph ? cheers, Hugo -- Hugo Lefeuvre (hle)|www.owl.eu.com RSA4096_ 360B 03B3 BF27 4F4D 7A3F D5E8 14AA 1EB8 A247 3DFD ed25519_ 37B2 6D38 0B25 B8A2 6B9F 3A65 A36F 5357 5F2D DC4C signature.asc Description: PGP signature
Bug#920337: python3-igraph: ships header in /usr/include/python3.7
Hello. The attached patch works around this bug in python-igraph. The issue should probably be fixed globally by adding 'm' in package python3-stdlib-extensions in filedebian/patches/3.7/distutils-install-layout.diff in line'headers': '$base/include/python$py_version_short/$dist_name' but I am not an expert in Python packaging, so I would like your opinion before opening a bug against python3-stdlib-extensions. Ideally, the bug number would be added to a comment in debian/rules so that we know when the work-around can be removed. --- a/debian/compat +++ /dev/null @@ -1,1 +0,0 @@ -11 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Maintainer: Debian Python Modules Team Uploaders: TANIGUCHI Takaki , Hugo Lefeuvre -Build-Depends: debhelper (>= 11), +Build-Depends: debhelper-compat (= 12), dh-python, libigraph-dev, pkg-config, @@ -17,6 +17,7 @@ Build-Depends: debhelper (>= 11), python3-setuptools, python3-texttable Standards-Version: 4.3.0 +Rules-Requires-Root: no Testsuite: autopkgtest-pkg-python Homepage: http://igraph.org/python/ Vcs-Git: https://salsa.debian.org/python-team/modules/python-igraph.git --- a/debian/rules +++ b/debian/rules @@ -3,11 +3,19 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export PYBUILD_NAME=igraph +# Work around #920337. The proper fix probably adds 'm' +# in package python3-stdlib-extensions +# in filedebian/patches/3.7/distutils-install-layout.diff +# in line'headers': '$base/include/python$py_version_short/$dist_name' +export PYBUILD_INSTALL_ARGS_python3 := \ + --install-headers=/usr/include/python{version}m + %: # Ensure that the embedded copy is never used. rm -f vendor/texttable.py dh $@ --with python2,python3 --buildsystem=pybuild +# Disable the scripts= option in setup.cfg. See #664443. override_dh_auto_install: dh_auto_install rm -f $(CURDIR)/debian/python-igraph/usr/bin/igraph --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,2 @@ -version=3 -https://pypi.debian.net/python-igraph/python-igraph-(.*)\.tar\.gz - +version=4 +https://pypi.debian.net/@PACKAGE@/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Bug#920337: python3-igraph: ships header in /usr/include/python3.7/
Package: python3-igraph Version: 0.7.1.post6-6 Severity: serious Hi, your package ships the header file(s): /usr/include/python3.7/python-igraph/igraphmodule_api.h but /usr/include/python3.7 is a symlink to python3.7m in libpython3.7-dev. This may result in silent file overwrites or depending on the unpacking order /usr/include/python3.7 being a directory in some cases, separating the headers into two independent trees. These header files must be shipped in /usr/include/python3.7m/ instead. Please talk to the python maintainers to find a proper solution for handling the packaging of python header files in a future-proof way. Cheers, Andreas