[Debian-astro-maintainers] Bug#1103060: pyraf: FTBFS in testing/i386: KeyError: 'setuptools_scm'
Lucas Nussbaum
lucas at debian.org
Mon Apr 14 12:21:03 BST 2025
Source: pyraf
Version: 2.2.2-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20250414 ftbfs-trixie
Hi,
During a rebuild of all packages in testing (trixie), your package failed
to build on i386.
Relevant part (hopefully):
> debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:311: python3.13 setup.py config
> WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
> section = defn.get("tool", {})[tool_name]
> ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
> KeyError: 'setuptools_scm'
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:311: /usr/bin/python3 setup.py build
> WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
> section = defn.get("tool", {})[tool_name]
> ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
> KeyError: 'setuptools_scm'
> running build
> running build_py
> creating /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/fill_clcache.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/iraffunctions.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/MplCanvasAdapter.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/cltoken.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafinst.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/clcache.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/tpar.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/filecache.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafimcur.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/clparse.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/__main__.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gkitkplot.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafecl.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gki.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/clast.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafcompleter.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/cllinecache.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/epar.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gkigcur.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafhelp.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/pyrafglobals.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/splash.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/msgiowidget.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/urwfiledlg.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/clscan.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/tkplottext.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafpar.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafdisplay.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/pycmdline.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafgwcs.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/ipython_api.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/msgiobuffer.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gkiiraf.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafimport.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/pseteparoption.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/iraftask.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gkicmd.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gwm.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/version.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/aqutil.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafnames.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafukey.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/GkiMpl.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/gkitkbase.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/generic.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/graphcap.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/Ptkplot.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/pyrafTk.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/cgeneric.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/urwutil.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/irafexecute.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/iraf.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/cl2py.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/fontdata.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/wutil.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/sqliteshelve.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/subproc.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/textattrib.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/newWindowHack.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/__init__.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/scanf.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> creating /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_tasks.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_using_tasks.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_plot.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_basic.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/utils.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_invocation.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_cli.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_clcache.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_core_nongraphics.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/__init__.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> copying pyraf/tests/test_graphics.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests
> creating /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/irafutils.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/compmixin.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/irafglobals.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/capable.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/tkrotext.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/basicpar.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/teal.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/vtor_checks.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/filedlg.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/cfgpars.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/dialog.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/alert.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/listdlg.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/eparoption.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/taskpars.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/minmatch.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/teal_bttn.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/editpar.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> copying pyraf/tools/__init__.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools
> creating /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/test_cfgobj.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/test_irafutils.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/test_minmatch.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/test_compmixin.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/__init__.py -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> running egg_info
> creating pyraf.egg-info
> writing pyraf.egg-info/PKG-INFO
> writing dependency_links to pyraf.egg-info/dependency_links.txt
> writing entry points to pyraf.egg-info/entry_points.txt
> writing requirements to pyraf.egg-info/requires.txt
> writing top-level names to pyraf.egg-info/top_level.txt
> writing manifest file 'pyraf.egg-info/SOURCES.txt'
> reading manifest file 'pyraf.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found anywhere in distribution
> warning: no previously-included files matching '*.o' found anywhere in distribution
> warning: no previously-included files matching '*.so' found anywhere in distribution
> warning: no previously-included files matching '*.sqlite3' found anywhere in distribution
> warning: manifest_maker: MANIFEST.in, line 9: unknown action 'recursive-inclulde'
>
> adding license file 'LICENSE.txt'
> writing manifest file 'pyraf.egg-info/SOURCES.txt'
> copying pyraf/blankcursor.xbm -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/epar.optionDB -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/ipythonrc-pyraf -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/pyraflogo_rgb_web.gif -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> copying pyraf/xutil.c -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf
> creating /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/noiraf
> copying pyraf/noiraf/cl.par -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/noiraf
> copying pyraf/noiraf/clpackage.cl -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/noiraf
> copying pyraf/noiraf/login.cl -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/noiraf
> copying pyraf/noiraf/system.cl -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/noiraf
> copying pyraf/noiraf/system.par -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/noiraf
> creating /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psdump_prow_250.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psdump_prow_256.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psdump_prow_256_250.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psdump_prow_256_250_200.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/pset_msstat_input.fits -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psi_land_prow_250.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psi_land_prow_256.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psi_land_prow_256_250.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tests/data/psi_land_prow_256_250_200.ps -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tests/data
> copying pyraf/tools/tests/cfgobj_output.ref -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/rt_sample.cfg -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> copying pyraf/tools/tests/rt_sample.cfgspc -> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/tools/tests
> running build_ext
> building 'pyraf.xutil' extension
> creating build/temp.linux-i686-cpython-313/pyraf
> i686-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/pyraf-2.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.13 -c pyraf/xutil.c -o build/temp.linux-i686-cpython-313/pyraf/xutil.o
> i686-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/pyraf-2.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-i686-cpython-313/pyraf/xutil.o -L/usr/lib/i386-linux-gnu -lX11 -o /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/xutil.cpython-313-i386-linux-gnu.so
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build; python3.13 -m pytest
> tput: No value for $TERM and no -T specified
> ============================= test session starts ==============================
> platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0
> rootdir: /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build
> configfile: pyproject.toml
> plugins: hypothesis-6.127.4, doctestplus-1.4.0, typeguard-4.4.2, cov-5.0.0, mock-3.14.0, astropy-header-0.2.2, remotedata-0.4.1, filter-subpackage-0.2.0, arraydiff-0.6.1, astropy-0.11.0
>
> No graphics display available for this session.
> Graphics tasks that attempt to plot to an interactive screen will fail.
> For help, search "PyRAF FAQ 5.13"
>
> Created directory /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/.iraf/pyraf for cache
> collected 404 items
>
> pyraf/tests/test_basic.py ....
> pyraf/tests/test_clcache.py .
> pyraf/tests/test_cli.py ..........................................................................................................................................................................................
> pyraf/tests/test_core_nongraphics.py .....................x..
> pyraf/tests/test_graphics.py ......sssss
> pyraf/tests/test_invocation.py ..................F.....x........x........ssss..s
> pyraf/tests/test_plot.py ssssssssssssssssssssssssssss
> pyraf/tests/test_tasks.py .........................................................
> pyraf/tests/test_using_tasks.py sssssss
> pyraf/tools/tests/test_cfgobj.py .
> pyraf/tools/tests/test_compmixin.py ....
> pyraf/tools/tests/test_irafutils.py .............
> pyraf/tools/tests/test_minmatch.py ...................
>
> =================================== FAILURES ===================================
> ________________________ test_invoke_command[True-bye-] ________________________
>
> _with_pyraf = <pyraf.tests.test_invocation.PyrafEx object at 0xf255f030>
> test_input = 'bye', expected = '', use_ecl = True
>
> @pytest.mark.parametrize('test_input,expected', cl_cases)
> @pytest.mark.parametrize('use_ecl', [False, True])
> def test_invoke_command(_with_pyraf, test_input, expected, use_ecl):
> """Issue basic commands to CL parser
> """
> result = _with_pyraf.run(['-c', test_input], use_ecl=use_ecl)
> > assert not result.code, result.stderr
> E AssertionError: ERROR: Child process '/bin/sh -c /bin/ls -1ad [a-y]* 2> /dev/null' exited with return code 2
> E '<source code not available>'
> E line 0: cl$cl.par
> E '<source code not available>'
> E line 0: cl$cl.par
> E '<source code not available>'
> E line 0: hlib$clpackage.cl
> E Traceback (most recent call last):
> E File "<frozen runpy>", line 198, in _run_module_as_main
> E File "<frozen runpy>", line 88, in _run_code
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/__main__.py", line 166, in <module>
> E main()
> E ~~~~^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/__main__.py", line 130, in main
> E iraf.Init(**initkw)
> E ~~~~~~~~~^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py", line 217, in Init
> E clpkg.run(_doprint=0, _hush=hush, _save=1)
> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 222, in run
> E self._ecl_handle_error(e)
> E ~~~~~~~~~~~~~~~~~~~~~~^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 370, in _ecl_handle_error
> E raise e
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 220, in run
> E return _runcore()
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 204, in _runcore
> E self._run(redirKW, specialKW)
> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 495, in _run
> E return iraftask.IrafPkg._run(self, *args, **kw)
> E ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraftask.py", line 1746, in _run
> E self._runCode()
> E ~~~~~~~~~~~~~^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraftask.py", line 1537, in _runCode
> E self._clFunction(*parList, **kw)
> E ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
> E File "<CL script clpackage.clpackage>", line 32, in clpackage
> E iraf.cl(Stdin='hlib$extpkg.cl')
> E ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraftask.py", line 834, in __call__
> E return self.run(*args, **kw)
> E ~~~~~~~~^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 222, in run
> E self._ecl_handle_error(e)
> E ~~~~~~~~~~~~~~~~~~~~~~^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 370, in _ecl_handle_error
> E raise e
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 220, in run
> E return _runcore()
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 204, in _runcore
> E self._run(redirKW, specialKW)
> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 456, in _run
> E return iraftask.IrafPythonTask._run(self, *args, **kw)
> E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraftask.py", line 1273, in _run
> E self._pyFunction(*pl)
> E ~~~~~~~~~~~~~~~~^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py", line 2682, in _clProcedure
> E clExecute(_sys.stdin.read(), locals=theLocals, Stdin=_sys.__stdin__)
> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py", line 3341, in clExecute
> E exec(pycode.vars.proc_name + "(taskObj=iraf.cl)", locals)
> E ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> E File "<string>", line 1, in <module>
> E File "<CL script CL1>", line 33, in string_proc
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraftask.py", line 834, in __call__
> E return self.run(*args, **kw)
> E ~~~~~~~~^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 222, in run
> E self._ecl_handle_error(e)
> E ~~~~~~~~~~~~~~~~~~~~~~^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 379, in _ecl_handle_error
> E raise e
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 220, in run
> E return _runcore()
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 204, in _runcore
> E self._run(redirKW, specialKW)
> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/irafecl.py", line 456, in _run
> E return iraftask.IrafPythonTask._run(self, *args, **kw)
> E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraftask.py", line 1273, in _run
> E self._pyFunction(*pl)
> E ~~~~~~~~~~~~~~~~^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py", line 2682, in _clProcedure
> E clExecute(_sys.stdin.read(), locals=theLocals, Stdin=_sys.__stdin__)
> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py", line 3341, in clExecute
> E exec(pycode.vars.proc_name + "(taskObj=iraf.cl)", locals)
> E ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> E File "<string>", line 1, in <module>
> E File "<CL script CL2>", line 17, in string_proc
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py", line 2234, in clOscmd
> E status = _subproc.subshellRedir(s, shell=shell)
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/subproc.py", line 769, in subshellRedir
> E return systemRedir((shell, "-c", cmd))
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/subproc.py", line 747, in systemRedir
> E process = RedirProcess(cmd)
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/subproc.py", line 800, in __init__
> E Subprocess.__init__(self,
> E ~~~~~~~~~~~~~~~~~~~^^^^^^
> E cmd,
> E ^^^^
> E ...<2 lines>...
> E control_stdout=doOut,
> E ^^^^^^^^^^^^^^^^^^^^^
> E control_stdin=doIn)
> E ^^^^^^^^^^^^^^^^^^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/subproc.py", line 95, in __init__
> E self.fork()
> E ~~~~~~~~~^^
> E File "/build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/subproc.py", line 209, in fork
> E raise SubprocessError(
> E f"Child process '{self.cmd}' exited "
> E f"with return code {rc:d}")
> E pyraf.subproc.SubprocessError: Child process '/bin/sh -c /bin/ls -1ad [a-y]* 2> /dev/null' exited with return code 2
> E
> E assert not 1
> E + where 1 = <pyraf.tests.test_invocation.PyrafEx object at 0xf255f030>.code
>
> pyraf/tests/test_invocation.py:99: AssertionError
> =============================== warnings summary ===============================
> pyraf/scanf.py:116
> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/scanf.py:116: SyntaxWarning: invalid escape sequence '\-'
> (\\S+) \- ([+-]?\\d+) errors, ([+-]?\\d+) warnings
>
> pyraf/iraffunctions.py:91
> /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py:91: DeprecationWarning: finfo() dtype cannot be None. This behavior will raise an error in the future. (Deprecated in NumPy 1.25)
> FP_EPSILON = _numpy.finfo(None).eps
>
> pyraf/tools/tests/test_minmatch.py::test_getall
> /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but pyraf/tools/tests/test_minmatch.py::test_getall returned [1, 2, 10], which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
> warnings.warn(
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED pyraf/tests/test_invocation.py::test_invoke_command[True-bye-] - Asser...
> ====== 1 failed, 355 passed, 45 skipped, 3 xfailed, 3 warnings in 31.30s =======
> could not open XWindow display
> could not open XWindow display
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/pyraf-2.2.2/.pybuild/cpython3_3.13_pyraf/build; python3.13 -m pytest
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2025/04/14/pyraf_2.2.2-2_testing-i386.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
More information about the Debian-astro-maintainers
mailing list