Package: src:img2pdf Version: 0.6.0-3 Severity: serious Tags: ftbfs trixie sid
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild debian/rules execute_before_dh_auto_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' rm -f img2pdf.1 make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: [... snipped ...] im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.27547e-05 (8.87677e-07)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'4.27547e-05 (8.87677e-07)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError ----------------------------- Captured stderr call ----------------------------- 0 (0) __________________________ test_png_gray16[internal] ___________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f3db4df56e0>, _basetemp=PosixPath('/tmp/pytest-of-buildd/pytest-0'), _retention_count=3, _retention_policy='all') png_gray16_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/gray16_png0/gray16.png') png_gray16_pdf = PosixPath('/tmp/pytest-of-buildd/pytest-0/png_gray16_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_gray16(tmp_path_factory, png_gray16_img, png_gray16_pdf): tmpdir = tmp_path_factory.mktemp("png_gray16") # ghostscript outputs 8-bit grayscale, so the comparison will not be exact > compare_ghostscript( tmpdir, png_gray16_img, png_gray16_pdf, gsdevice="pnggray", exact=False ) img2pdf_test.py:5802: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ img2pdf_test.py:419: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-buildd/pytest-0/gray16_png0/gray16.png' im2 = '/tmp/pytest-of-buildd/pytest-0/png_gray160/gs-1.png', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.24454e-05 (8.81255e-07)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'4.24454e-05 (8.81255e-07)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError ___________________________ test_png_gray16[pikepdf] ___________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f3db4df56e0>, _basetemp=PosixPath('/tmp/pytest-of-buildd/pytest-0'), _retention_count=3, _retention_policy='all') png_gray16_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/gray16_png0/gray16.png') png_gray16_pdf = PosixPath('/tmp/pytest-of-buildd/pytest-0/png_gray16_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_gray16(tmp_path_factory, png_gray16_img, png_gray16_pdf): tmpdir = tmp_path_factory.mktemp("png_gray16") # ghostscript outputs 8-bit grayscale, so the comparison will not be exact > compare_ghostscript( tmpdir, png_gray16_img, png_gray16_pdf, gsdevice="pnggray", exact=False ) img2pdf_test.py:5802: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ img2pdf_test.py:419: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-buildd/pytest-0/gray16_png0/gray16.png' im2 = '/tmp/pytest-of-buildd/pytest-0/png_gray161/gs-1.png', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.24454e-05 (8.81255e-07)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'4.24454e-05 (8.81255e-07)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError ____________________________ test_png_icc[internal] ____________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f3db4df56e0>, _basetemp=PosixPath('/tmp/pytest-of-buildd/pytest-0'), _retention_count=3, _retention_policy='all') png_icc_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/icc_png0/icc.png') png_icc_pdf = PosixPath('/tmp/pytest-of-buildd/pytest-0/png_icc_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["darwin", "win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_icc(tmp_path_factory, png_icc_img, png_icc_pdf): tmpdir = tmp_path_factory.mktemp("png_icc") > compare_ghostscript(tmpdir, png_icc_img, png_icc_pdf, exact=False, > icc=True) img2pdf_test.py:5865: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ img2pdf_test.py:419: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-buildd/pytest-0/icc_png0/icc.png' im2 = '/tmp/pytest-of-buildd/pytest-0/png_icc0/gs-1.png', exact = False icc = True, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'3.37532e-05 (7.00788e-07)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'3.37532e-05 (7.00788e-07)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError ____________________________ test_png_icc[pikepdf] _____________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f3db4df56e0>, _basetemp=PosixPath('/tmp/pytest-of-buildd/pytest-0'), _retention_count=3, _retention_policy='all') png_icc_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/icc_png0/icc.png') png_icc_pdf = PosixPath('/tmp/pytest-of-buildd/pytest-0/png_icc_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["darwin", "win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_icc(tmp_path_factory, png_icc_img, png_icc_pdf): tmpdir = tmp_path_factory.mktemp("png_icc") > compare_ghostscript(tmpdir, png_icc_img, png_icc_pdf, exact=False, > icc=True) img2pdf_test.py:5865: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ img2pdf_test.py:419: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-buildd/pytest-0/icc_png0/icc.png' im2 = '/tmp/pytest-of-buildd/pytest-0/png_icc1/gs-1.png', exact = False icc = True, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'3.37532e-05 (7.00788e-07)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'3.37532e-05 (7.00788e-07)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError __________________________ test_miff_cmyk16[internal] __________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f3db4df56e0>, _basetemp=PosixPath('/tmp/pytest-of-buildd/pytest-0'), _retention_count=3, _retention_policy='all') miff_cmyk16_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/miff_cmyk160/in.miff') tiff_cmyk16_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/tiff_cmyk160/in.tiff') miff_cmyk16_pdf = PosixPath('/tmp/pytest-of-buildd/pytest-0/miff_cmyk16_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) @pytest.mark.skipif( platform.machine() == "s390x", reason="https://github.com/ImageMagick/ImageMagick/issues/8055", ) def test_miff_cmyk16( tmp_path_factory, miff_cmyk16_img, tiff_cmyk16_img, miff_cmyk16_pdf ): tmpdir = tmp_path_factory.mktemp("miff_cmyk16") > compare_ghostscript( tmpdir, tiff_cmyk16_img, miff_cmyk16_pdf, gsdevice="tiff32nc", exact=False ) img2pdf_test.py:6454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ img2pdf_test.py:419: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-buildd/pytest-0/tiff_cmyk160/in.tiff' im2 = '/tmp/pytest-of-buildd/pytest-0/miff_cmyk161/gs-1.tiff', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.1089e-06 (8.53093e-08)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'4.1089e-06 (8.53093e-08)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError __________________________ test_miff_cmyk16[pikepdf] ___________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f3db4df56e0>, _basetemp=PosixPath('/tmp/pytest-of-buildd/pytest-0'), _retention_count=3, _retention_policy='all') miff_cmyk16_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/miff_cmyk160/in.miff') tiff_cmyk16_img = PosixPath('/tmp/pytest-of-buildd/pytest-0/tiff_cmyk160/in.tiff') miff_cmyk16_pdf = PosixPath('/tmp/pytest-of-buildd/pytest-0/miff_cmyk16_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) @pytest.mark.skipif( platform.machine() == "s390x", reason="https://github.com/ImageMagick/ImageMagick/issues/8055", ) def test_miff_cmyk16( tmp_path_factory, miff_cmyk16_img, tiff_cmyk16_img, miff_cmyk16_pdf ): tmpdir = tmp_path_factory.mktemp("miff_cmyk16") > compare_ghostscript( tmpdir, tiff_cmyk16_img, miff_cmyk16_pdf, gsdevice="tiff32nc", exact=False ) img2pdf_test.py:6454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ img2pdf_test.py:419: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-buildd/pytest-0/tiff_cmyk160/in.tiff' im2 = '/tmp/pytest-of-buildd/pytest-0/miff_cmyk162/gs-1.tiff', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.1089e-06 (8.53093e-08)' E assert None is not None E + where None = <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60>(b'4.1089e-06 (8.53093e-08)') E + where <built-in method fullmatch of re.Pattern object at 0x7f3db1f93a60> = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch img2pdf_test.py:393: AssertionError =========================== short test summary info ============================ FAILED img2pdf_test.py::test_png_rgb16[internal] - AssertionError: b'4.27547e... FAILED img2pdf_test.py::test_png_rgb16[pikepdf] - AssertionError: b'4.27547e-... FAILED img2pdf_test.py::test_png_gray16[internal] - AssertionError: b'4.24454... FAILED img2pdf_test.py::test_png_gray16[pikepdf] - AssertionError: b'4.24454e... FAILED img2pdf_test.py::test_png_icc[internal] - AssertionError: b'3.37532e-0... FAILED img2pdf_test.py::test_png_icc[pikepdf] - AssertionError: b'3.37532e-05... FAILED img2pdf_test.py::test_miff_cmyk16[internal] - AssertionError: b'4.1089... FAILED img2pdf_test.py::test_miff_cmyk16[pikepdf] - AssertionError: b'4.1089e... ======================== 8 failed, 344 passed in 31.25s ======================== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:9: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202504/ 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 could not 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:img2pdf, so that this is still visible in the BTS web page for this package. Thanks.