Saturday 20 November 2021

+1 maintenance report

+1 maintenance, Nov 15-19

zodbpickle:
As Michael pointed out in his report, there is a patch upstream for this.
Cherry-picked and uploaded after confirming it fixes the build failure.

subversion:
Opened LP: #1951029 to document the current state. Seems like this could be
fixed by building all of subversion with gcc-9, but if we are going to get
ruby 3 as default soon then there may not be any point.

siphashc, python-lzo, python-gmpy2, mod-wsgi, py7zr, slixmpp:
Fix cherry-picked from upstream for python 3.10 compatibility.

pythonmagick:
Add an extra configure option to force use of the correct libboost-python
when there is more than one supported version. Forwarded to Debian as bug
#999781.

Since this points to a possible class of misbuilds that would not get caught
by autopkgtests, I had a look at the other packages which build-depend on
both python3-all-dev and libboost-python-dev:

$ grep-dctrl -sPackage -FBuild-Depends libboost-python-dev -a -FBuild-Depends python3-all-dev /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_jammy*Sources | sort -u | wc -l
19
$

3 of these were false-positives because they don't build binaries that
depend on libboost-python.

12 were using a build system other than autoconf and didn't get the wrong
linkage.

libtorrent-rasterbar had FTBFS for unrelated reasons and correctly handles
the libboost-python detection.

pycuda tries to link against -lboost_python31, but at least it doesn't
misbuild!

pygattlib doesn't use autoconf, but manages to misbuild as if it did.
Uploaded a fix, submitted to Debian in bug #999806.

python-pyalsa:
1-liner patch for compatibility with python3.10. Submitted to Debian on bug
#999385.

python-gammu:
No fix available upstream, but is yet another trivial change for
PY_SSIZE_T_CLEAN. Uploaded and sent to Debian bug #999374.

python-crypto:
Obsolete, removed from Debian in July. Only still present in Ubuntu because
some openstack packages have not yet migrated off of it. Not worth fixing.

pystemd:
Failed to build because upstream tarball contains .c files generated with an
old version of cython. Forcing regeneration of these at build time fixes
the build failure. Uploaded, forwarded to Debian bug #999370.

protobuf:
Generic python 3.10 compatibility error, but strangely only triggered a
build failure on i386. Didn't think too hard on this, but pulled the patch
from upstream to fix it.

lz4tools:
No fix available upstream; more trivial PY_SSIZE_T_CLEAN fixes. Uploaded
and sent to Debian bug #999366.

libpillowfight:
autopkgtest failure only on amd64. Reproducible with the no-change rebuild,
not reproducible with the previous binary. Reproducible even if rebuilding
against the release pocket. The package was last built in hirsute; even a
no-change rebuild in hirsute regresses the autopkgtest. Downgrading various
toolchain packages didn't help, which led me down the rathole of partially
upgrading a groovy environment to hirsute until I was able to reproduce the
problem. In the end, the regression was caused by dpkg turning on LTO in
hirsute, which I misremembered as having happened later which is why I
didn't go hunting for this directly. Turned off LTO for libpillowfight on
amd64, and uploaded.

jpy:
no upstream fix for python3.10 compatibility, but a one-liner change;
uploaded, and forwarded to Debian bug #999409.

r-cran-vctrs:
autopkgtests failing on s390x blocking remaining bits of the R transition.
mwhudson found that upstream says big-endian is not supported, but digging
in, the only problem was that the test data was not valid on BE archs.
Uploaded a patch and forwarded to Debian as bug #999870.

blist:
FTBFS with python 3.10, and also FTBFS with gcc-11. Upstream hasn't made
any changes in git since 2014, unfortunately, but the python porting issues
were straightforward to correct. For the gcc build failure (a segfault only
when built with -O2), I worked around it by building with a lower
optimization level. Patches submitted for both issues in Debian bug #999365
and #983996.

zookeeper:
preexisting build failure unrelated to python 3.10 (g++-11). Leaving this
one alone.

xmms2:
bizarre build failure only on ppc64el. Retried the build and it failed the
same way (and this failure also shows up in the archive test rebuild). For
some reason, on ppc64el only, files are being installed to a path of
/usr/lib64. Adding a manual --libdir=/usr/lib arg in debian/rules fixes.
Uploaded to Ubuntu and Debian (QA upload).

python-misaka:
Failed to build because upstream tarball contains .c files generated with an
old version of cython. Forcing regeneration of these at build time fixes
the build failure. Uploaded, forwarded to Debian bug #999406.

pyasn:
debian/rules had manual handling of buildtime testing, which did not handle
the case of multiple supported python versions. Patched and forwarded to
Debian bug #999402.

probert:
Confusingly, proposed-migration correctly reports that probert-network is in
universe and this inconsistency blocks migration to the release pocket.
This is confusing because proposed-migration appears to be absolutely
correct, but probert has been in main since focal and probert-network has
been in universe since focal /with the exception of hirsute/, and nothing is
shown about probert on the component-mismatches report
(https://people.canonical.com/~ubuntu-archive/component-mismatches.html).
I've promoted the probert-network binary to main, and will try to figure out
why the reports still want it demoted.

openems:
This build failure is caused by libdl going away in impish, but packages
still encoding references to it (LP: #1951340). vtk7 which ships
/usr/lib/cmake/vtk-7.1/VTKTargets-none.cmake is FTBFS. Fixed the vtk7 FTBFS
and sent patch to Debian bug #984401. This unblocks a number of packages
that were stuck in -proposed as build failures, including gdcm which was
entangled with the poppler transition. But vtk7 then gets stuck because the
binoculars autopkgtests segfault; didn't get back around to looking into
this.

python-cytoolz:
upstream test suite makes assumptions about introspectability of python
built-ins, so the blacklist needed extended for python 3.10 new behavior.
Uploaded and forwarded to Debian in bug #999405.

pyliblo:
FTBFS because of incompatibilities with new sphinx. Dropped the sphinx
overrides which don't appear to any longer be useful. Uploaded and
forwarded to Debian bug #997324.

echoping:
Incompatible with autoconf 2.71, significant amounts of deprecation in
configure.ac and the package FTBFS in Debian (not present in stable).
Removed rather than fixing.

nextepc:
Fixed build failure with gcc-11, patch forwarded to Debian bug #984256.

With fixes to slixmpp and the preceding two packages, the libdn transition
looked like it would be unblocked. But only after addressing this round of
blockers, does proposed-migration show that there are entanglements
libdn->vlc->x265->digikam->opencv, and it looks like opencv is broken on
armhf. Was hoping to start a git bisect of opencv upstream, but have been
hampered by being unable to launch an adequately-sized VM for the task.

gcc-python-plugin:
Although this was a rebuild for python3.10, which the package won't actually
use (Debian bug #800709), the package fails to build because it's using
functions which are deprecated in python3.9. Suppressed the compiler
treating this as an error, uploaded, and forwarded as Debian bug #1000213.

pywavelets:
This package has no autopkgtests of its own, but its reverse-dependency,
skimage, has one that shows importing pywt from -proposed with the numpy
from the release pocket fails due to a change in the size of a struct.
Comparing other reverse dependencies of numpy shows that there's a dh_numpy3
command which should be called to generate the correct versioned dependency.
Added this and uploaded, forwardeing to Debian as bug #1000232.

segyio:
Tries to use MINSIGSTKSZ as part of a constant expression, but in glibc 2.34
this now expands to a call to sysconf(). Needs a bit more C++ surgery than
I was prepared to do at the end of my shift. Filed LP: #1951658.

python-bx:
Just needed retried now that python-lzo is built for python3.10.

pygame:
More trivial PY_SSIZE_T_CLEAN fixes. Uploaded, forwarded to Debian bug
#1000237. There is still a build failure on ppc64el only that needs
followed up on.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org