#1137487 heudiconv: FTBFS with the nocheck build profile

#1137487#5
Date:
2026-05-24 10:21:29 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable using the nocheck build profile,
this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202605/

A wiki page discussing how to reproduce bugs in this category and
possible solutions is available here:

https://wiki.debian.org/qa.debian.org/FTBFS/nocheck

(It's a wiki, so you are welcome to contribute)

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:heudiconv, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
adding 'heudiconv-1.4.0.dist-info/METADATA'
adding 'heudiconv-1.4.0.dist-info/WHEEL'
adding 'heudiconv-1.4.0.dist-info/entry_points.txt'
adding 'heudiconv-1.4.0.dist-info/top_level.txt'
adding 'heudiconv-1.4.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built heudiconv-1.4.0-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.13 with "installer" module
dh: command-omitted: The call to "dh_auto_test -O--buildsystem=pybuild" was omitted due to "DEB_BUILD_OPTIONS=nocheck"
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=pybuild
   dh_prep -O--buildsystem=pybuild
	rm -f -- debian/heudiconv.substvars
	rm -fr -- debian/.debhelper/generated/heudiconv/ debian/heudiconv/ debian/tmp/
   dh_auto_install --destdir=debian/heudiconv/ -O--buildsystem=pybuild
	install -m0755 -d /<<PKGBUILDDIR>>/debian/heudiconv
	pybuild --install -i python{version} -p "3.14 3.13" --dest-dir=/<<PKGBUILDDIR>>/debian/heudiconv --parallel=2
I: pybuild plugin_pyproject:199: Copying package built for python3.14 to destdir
I: pybuild plugin_pyproject:199: Copying package built for python3.13 to destdir
   debian/rules execute_after_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p build
PYTHONPATH=$(/bin/ls -d ./debian/heudiconv/usr/lib/python*/*-packages | head -n 1) \
help2man -n 'DICOM converter for organizing brain imaging data into structured directory layouts' \
	-N --no-discard-stderr \
        "python3 -W ignore ./debian/heudiconv/usr/bin/heudiconv" >| build/heudiconv.1
find debian -iname *.pyc -delete
# https://github.com/nipy/heudiconv/issues/399
rm -rf debian/heudiconv/usr/lib/python*/*-packages/Research
find debian -name __pycache__ | xargs rm -rf
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_installdocs -O--buildsystem=pybuild
	install -m0755 -d debian/heudiconv/usr/share/doc/heudiconv
	install -p -m0644 debian/copyright debian/heudiconv/usr/share/doc/heudiconv/copyright
   dh_installchangelogs -O--buildsystem=pybuild
	install -m0755 -d debian/heudiconv/usr/share/doc/heudiconv
	install -p -m0644 debian/.debhelper/generated/heudiconv/dh_installchangelogs.dch.trimmed debian/heudiconv/usr/share/doc/heudiconv/changelog.Debian
	install -p -m0644 ./CHANGELOG.md debian/heudiconv/usr/share/doc/heudiconv/changelog
   dh_installman -O--buildsystem=pybuild
	install -m0755 -d debian/heudiconv/usr/share/man/man1/
	install -p -m0644 ./build/heudiconv.1 debian/heudiconv/usr/share/man/man1/heudiconv.1
	man-recode --to-code UTF-8 --suffix .dh-new debian/heudiconv/usr/share/man/man1/heudiconv.1
	mv debian/heudiconv/usr/share/man/man1/heudiconv.1.dh-new debian/heudiconv/usr/share/man/man1/heudiconv.1
	chmod 0644 -- debian/heudiconv/usr/share/man/man1/heudiconv.1
   dh_python3 -O--buildsystem=pybuild
D: dh_python3 dh_python3:87: version: 7.20260309
D: dh_python3 dh_python3:88: argv: ['/usr/bin/dh_python3', '-O--buildsystem=pybuild']
D: dh_python3 dh_python3:89: options: DHPythonOptions(O=['--buildsystem=pybuild'], accept_upstream_versions=False, arch=None, clean_dbg_pkg=True, compile_all=False, depends=[], depends_section=[], guess_deps=True, ignore_shebangs=False, no_ext_rename=False, no_package=[], no_shebang_rewrite=False, package=[], private_dir=None, recommends=[], recommends_section=[], regexpr=[], remaining_packages=False, requires=[], shebang=None, skip_private=False, suggests=[], suggests_section=[], verbose=True, vrange=None, write_log=False)
D: dh_python3 dh_python3:90: supported Python versions: 3.13,3.14 (default=3.13)
D: dh_python3 debhelper:223: source=heudiconv, binary packages=['heudiconv']
D: dh_python3 dh_python3:117: processing package heudiconv...
D: dh_python3 fs:60: moving files from debian/heudiconv/usr/lib/python3.13/dist-packages to debian/heudiconv/usr/lib/python3/dist-packages/
D: dh_python3 fs:60: moving files from debian/heudiconv/usr/lib/python3.14/dist-packages to debian/heudiconv/usr/lib/python3/dist-packages/
I: dh_python3 tools:128: replacing shebang in debian/heudiconv/usr/bin/heudiconv_monitor
I: dh_python3 tools:128: replacing shebang in debian/heudiconv/usr/bin/heudiconv
D: dh_python3 fs:199: Writing INSTALLER in debian/heudiconv/usr/lib/python3/dist-packages/heudiconv-1.4.0.dist-info
D: dh_python3 fs:210: Deleting RECORD in debian/heudiconv/usr/lib/python3/dist-packages/heudiconv-1.4.0.dist-info
D: dh_python3 fs:414: package heudiconv details = {'requires.txt': set(), 'egg-info': set(), 'dist-info': {'debian/heudiconv/usr/lib/python3/dist-packages/heudiconv-1.4.0.dist-info/METADATA'}, 'nsp.txt': set(), 'shebangs': {/usr/bin/python3, /usr/bin/python3}, 'public_vers': {Version('3')}, 'private_dirs': {}, 'compile': True, 'ext_vers': set(), 'ext_stableabi': set(), 'ext_no_version': set()}
D: dh_python3 depends:148: generating dependencies for package heudiconv
D: dh_python3 pydist:237: trying to find dependency for dcmstack>=0.8 (python=None)
D: dh_python3 pydist:281: dependency: module dcmstack is known to pydist: [PyDist(name='dcmstack', versions={Version('3.13'), Version('3.14')}, dependency='python3-dcmstack', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for filelock>=3.0.12 (python=None)
D: dh_python3 pydist:281: dependency: module filelock is known to pydist: [PyDist(name='filelock', versions={Version('3.13'), Version('3.14')}, dependency='python3-filelock', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for nibabel>=5.3.1 (python=None)
D: dh_python3 pydist:281: dependency: module nibabel is known to pydist: [PyDist(name='nibabel', versions={Version('3.13'), Version('3.14')}, dependency='python3-nibabel', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for nipype>=1.2.3 (python=None)
D: dh_python3 pydist:281: dependency: module nipype is known to pydist: [PyDist(name='nipype', versions={Version('3.13'), Version('3.14')}, dependency='python3-nipype', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for pydicom>=1.0.0 (python=None)
D: dh_python3 pydist:281: dependency: module pydicom is known to pydist: [PyDist(name='pydicom', versions={Version('3.13'), Version('3.14')}, dependency='python3-pydicom', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 depends:330: D={'python3-dcmstack', 'python3-nipype', 'python3:any', 'python3-pydicom', 'python3-filelock', 'python3-nibabel'}; R=[]; S=[]; E=[], B=[]; RT=[]
   debian/rules execute_after_dh_python3
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# No idea why the test is not moved
mv debian/heudiconv/usr/lib/python3.*/dist-packages/heudiconv/tests debian/heudiconv/usr/lib/python3/dist-packages/heudiconv/tests
mv: cannot stat 'debian/heudiconv/usr/lib/python3.*/dist-packages/heudiconv/tests': No such file or directory
make[1]: *** [debian/rules:41: execute_after_dh_python3] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:20: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1137487#8
Date:
2026-06-10 21:27:02 UTC
From:
To:
Hello,

Bug #1137487 in heudiconv reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/med-team/heudiconv/-/commit/5c1f9c0aee3fcad1aea7667799cf1ac4eff682e6
------------------------------------------------------------------------
d/rules: rearrange pybuild test execution.

This change serves the purpose of self containing test execution for
autopkgtest and also fixes problems of stability with the nocheck
profile.

Closes: #1137487
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1137487

#1137487#15
Date:
2026-06-10 22:19:17 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
heudiconv, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1137487@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Étienne Mollier <emollier@debian.org> (supplier of updated heudiconv package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 10 Jun 2026 23:26:13 +0200
Source: heudiconv
Architecture: source
Version: 1.4.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed-By: Étienne Mollier <emollier@debian.org>
Closes: 1137487
Changes:
 heudiconv (1.4.0-2) unstable; urgency=medium
 .
   * Team upload.
   * absolute-imports.patch: new: allow relocating tests.
   * d/rules: rearrange pybuild test execution.
     This change serves the purpose of self containing test execution for
     autopkgtest and also fixes problems of stability with the nocheck
     profile. (Closes: #1137487)
   * d/control: activate autopkgtest-pkg-pybuild.
   * d/patches/*: minor fixups.
     This change identifies patches that do not need forward upstream and
     fixes a typo of the "allow to" category.
Checksums-Sha1:
 8a4fd1c76b00711f3d7d7ac9dfea1e082c88e44e 2440 heudiconv_1.4.0-2.dsc
 26728f0cebd5f27120aa3e28708fde2479fb0ca8 5496 heudiconv_1.4.0-2.debian.tar.xz
Checksums-Sha256:
 1629c9f5879b38e51ff004bfa0ae576e65ac11ab14e46c299ae52a02bae8c6de 2440 heudiconv_1.4.0-2.dsc
 d4ff4a36ff8e59ec767ba937d94718959efc36a0df5497c86265e68ff17a1c23 5496 heudiconv_1.4.0-2.debian.tar.xz
Files:
 d39cd5817a9f0c03afd2a9c6e1dda7f5 2440 science optional heudiconv_1.4.0-2.dsc
 9cde813ea3f922bdad7e00fe5824ab72 5496 science optional heudiconv_1.4.0-2.debian.tar.xz
-----BEGIN PGP SIGNATURE-----

iQJIBAEBCgAyFiEEj5GyJ8fW8rGUjII2eTz2fo8NEdoFAmop2SUUHGVtb2xsaWVy
QGRlYmlhbi5vcmcACgkQeTz2fo8NEdo5GxAAiawrLmUIy34NUaxeTjXd+GDl9YKz
O9Q5lSqkZfUNpdI3e3TkSs/KmP7HycQJdWe4hXiQbNIH256zEtwgCBwcFAjRGZOw
T62MWSZN1vgD4wccXbH5Lt0qdA8RqPGDuj1UJWsNwty7C9XyHO+Cn+fHun9fpD0T
9kM5q1yL0q11QrhiviW5sKykAJ+4q3W7ewejTTIrQBOosBmWhIkxJ+MkkKPnZLRB
FxMpiOZsGLQQJLXyhmrTFpW3b+l41Ot7EN/Utqd7EKvonXDjaHCqm0xZTYWr12CD
MwXOwwABGfbB7kCLfP3WeiL/PlwXi/gAWDm1O+8RFZdq4+7IBdIc07M0kdTGyhH7
m7nM3PPc0XCRozlG7Gad1juXg3XjdrL4REbV59j/S6RRRaxt+dIfLcmuReb0j2w1
RzDvVyQZ8zdkqBujYhIBvu4VX/Ul+RXS6O4cp4xRgzzWe9KE8A6p6wAzt5xTYbmM
sv1qAW49NSWkql5lQr8Bkea4N9dI/MgQzHU1ks5VjO+BuXAinELMa7W76/s04idQ
JYuCkUAkqfhgMQQx2A/KwXeQXxuzO+ALsPL4xuCLgKWoFRTKTFq+w/U3tCm/k8/i
wF514UvpplLOkKHdhs6p50Ddg5KVmM/esAYvW4BBNMYGljYkfGcWr5C1yMIYH8hZ
NZJ257J4GqSHpB0=
=Xzl7
-----END PGP SIGNATURE-----