What is system-config-printer?

It failed for me on testing just now with system-config-printer-1.5.12.drv' failed with exit code 2

More details:

udev/udev-configure-printer.c: In function 'disable_queue':
udev/udev-configure-printer.c:1765:3: warning: 'httpConnectEncrypt' is deprecated: Use httpConnect2 instead. [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wdeprecated-declarations-Wdeprecated-declarations8;;]
 1765 |   http_t *cups = httpConnectEncrypt (cupsServer (), ippPort (),
      |   ^~~~~~
In file included from /nix/store/af9nj6nd93m4zq81kg1nxa5sqxfnkrrd-cups-2.3.3-dev/include/cups/ipp.h:18,
                 from /nix/store/af9nj6nd93m4zq81kg1nxa5sqxfnkrrd-cups-2.3.3-dev/include/cups/cups.h:27,
                 from udev/udev-configure-printer.c:36:
/nix/store/af9nj6nd93m4zq81kg1nxa5sqxfnkrrd-cups-2.3.3-dev/include/cups/http.h:458:17: note: declared here
  458 | extern http_t  *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                 ^~~~~~~~~~~~~~~~~~
gcc  -I/nix/store/8h40slssggzpvb5lr7irp8xa42qajv88-libusb-1.0.24-dev/include/libusb-1.0 -I/nix/store/6l8vy0rpikcw0j1xw67qf983sqpxcfzp-glib-2.68.3-dev/include/glib-2.0 -I/nix/store/i6z36ml0nm0vl93q9jn40bwjbi5b6r8g-glib-2.68.3/lib/glib-2.0/include -g -O2   -o udev/udev-configure-printer udev/udev_configure_printer-udev-configure-printer.o -lcups -ludev -L/nix/store/sr7wxpq41mxxi5cmaqz3ys5475xi9lpl-libusb-1.0.24/lib -lusb-1.0 -L/nix/store/i6z36ml0nm0vl93q9jn40bwjbi5b6r8g-glib-2.68.3/lib -lglib-2.0 
xmlto man -o man man/system-config-printer.xml
Warn: AUTHOR sect.: no personblurb|contrib for Tim Waugh           
Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/contr  
Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/perso  
Note: Writing system-config-printer.1
Warn: AUTHOR sect.: no personblurb|contrib for Tim Waugh           
Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/contr  
Note: AUTHOR sect.: see http://www.docbook.org/tdg5/en/html/perso  
Note: Writing system-config-printer-applet.1
touch .stamp-man-pages-built
LC_ALL=C /nix/store/cf74dzz61z7jahr8qh4hg6yl3swxl9is-intltool-0.51.0/bin/intltool-merge  -x -u -c ./po/.intltool-merge-cache ./po system-config-printer.appdata.xml.in system-config-printer.appdata.xml
Generating and caching the translation database
Merging translations into system-config-printer.appdata.xml.
CREATED system-config-printer.appdata.xml
LC_ALL=C /nix/store/cf74dzz61z7jahr8qh4hg6yl3swxl9is-intltool-0.51.0/bin/intltool-merge  -d -u -c ./po/.intltool-merge-cache ./po system-config-printer.desktop.in system-config-printer.desktop
Found cached translation database
Merging translations into system-config-printer.desktop.
LC_ALL=C /nix/store/cf74dzz61z7jahr8qh4hg6yl3swxl9is-intltool-0.51.0/bin/intltool-merge  -d -u -c ./po/.intltool-merge-cache ./po print-applet.desktop.in print-applet.desktop
Found cached translation database
Merging translations into print-applet.desktop.
sed \
  -e "s|\@prefix\@|/nix/store/76v2wq6hlyi4za9jhhj4sf9m630f76g4-system-config-printer-1.5.12|" \
  -e "s|\@datadir\@|/nix/store/76v2wq6hlyi4za9jhhj4sf9m630f76g4-system-config-printer-1.5.12/share|" \
  -e "s|\@localedir\@|/nix/store/76v2wq6hlyi4za9jhhj4sf9m630f76g4-system-config-printer-1.5.12/share/locale|" \
  -e "s|\@VERSION\@|1.5.12|" \
  -e "s|\@PACKAGE\@|system-config-printer|" \
  config.py.in > config.py
sed \
-e "s|\@bindir\@|/nix/store/76v2wq6hlyi4za9jhhj4sf9m630f76g4-system-config-printer-1.5.12/bin|" \
dbus/org.fedoraproject.Config.Printing.service.in >dbus/org.fedoraproject.Config.Printing.service
if [ "." != "." ]; then \
        cp ./setup.py .;                        \
        /nix/store/nvlnl2swxmk50x25mzn71rhc0gzpylfr-coreutils-8.32/bin/mkdir -p cupshelpers;                            \
        for file in cupshelpers/__init__.py cupshelpers/cupshelpers.py cupshelpers/installdriver.py cupshelpers/ppds.py cupshelpers/openprinting.py cupshelpers/xmldriverprefs.py; do           \
                cp ./$file $file;               \
        done;                                           \
fi
touch .stamp-distutils-in-builddir
/nix/store/nvlnl2swxmk50x25mzn71rhc0gzpylfr-coreutils-8.32/bin/mkdir -p cupshelpers
sed \
  -e "s|\@prefix\@|/nix/store/76v2wq6hlyi4za9jhhj4sf9m630f76g4-system-config-printer-1.5.12|" \
  -e "s|\@sysconfdir\@|/nix/store/76v2wq6hlyi4za9jhhj4sf9m630f76g4-system-config-printer-1.5.12/etc|" \
  -e "s|\@cupsserverbindir\@|/nix/store/a8nvssqmbkd953ibbais2jp8f9vvs85l-cups-2.3.3/lib/cups|" \
  cupshelpers/config.py.in > cupshelpers/config.py
/nix/store/yqjhkdarf7p74wcha7aypzsb751n7wl2-python3-3.9.5/bin/python setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/cupshelpers
copying cupshelpers/__init__.py -> build/lib/cupshelpers
copying cupshelpers/cupshelpers.py -> build/lib/cupshelpers
copying cupshelpers/installdriver.py -> build/lib/cupshelpers
copying cupshelpers/openprinting.py -> build/lib/cupshelpers
copying cupshelpers/ppds.py -> build/lib/cupshelpers
copying cupshelpers/xmldriverprefs.py -> build/lib/cupshelpers
copying cupshelpers/config.py -> build/lib/cupshelpers
make[1]: Leaving directory '/build/source'
running tests
check flags: SHELL=/nix/store/b45zavallnsvqwjs9wg9xw167jcs0935-bash-4.4-p23/bin/bash VERBOSE=y check
Making check in po
make[1]: Entering directory '/build/source/po'
rm -f missing notexist
srcdir=. /nix/store/cf74dzz61z7jahr8qh4hg6yl3swxl9is-intltool-0.51.0/bin/intltool-update -m
if [ -r missing -o -r notexist ]; then \
  exit 1; \
fi
make[1]: Leaving directory '/build/source/po'
make[1]: Entering directory '/build/source'
/nix/store/yqjhkdarf7p74wcha7aypzsb751n7wl2-python3-3.9.5/bin/python setup.py build
running build
running build_py
make  check-TESTS
make[2]: Entering directory '/build/source'
make[3]: Entering directory '/build/source'
echo "#!/nix/store/b45zavallnsvqwjs9wg9xw167jcs0935-bash-4.4-p23/bin/bash" > "test-xml-validity.sh"
echo "set -e" >> "test-xml-validity.sh"
echo "xmllint --relaxng \\" >> "test-xml-validity.sh"
echo "    ./xml/preferreddrivers.rng \\" >> "test-xml-validity.sh"
echo "    ./xml/preferreddrivers.xml >/dev/null" >> "test-xml-validity.sh"
echo "/nix/store/yqjhkdarf7p74wcha7aypzsb751n7wl2-python3-3.9.5/bin/python ./xml/validate.py \\" >> "test-xml-validity.sh"
echo "    ./xml/preferreddrivers.xml" >> "test-xml-validity.sh"
chmod 755 "test-xml-validity.sh"
FAIL: test-xml-validity.sh
echo "#!/nix/store/b45zavallnsvqwjs9wg9xw167jcs0935-bash-4.4-p23/bin/bash" > "py.test.sh"
echo "exec " >> "py.test.sh"
chmod 755 "py.test.sh"
PASS: py.test.sh
====================================================
   system-config-printer 1.5.12: ./test-suite.log
====================================================

# TOTAL: 2
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test-xml-validity.sh
==========================

./xml/preferreddrivers.xml validates
Validating ./xml/preferreddrivers.xml
Traceback (most recent call last):
  File "/build/source/./xml/validate.py", line 79, in <module>
    if not validator.validate ():
  File "/build/source/./xml/validate.py", line 38, in validate
    (drivertypes, preferenceorder) = preferreddrivers.getchildren ()
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'
FAIL test-xml-validity.sh (exit status: 1)

============================================================================
Testsuite summary for system-config-printer 1.5.12
============================================================================
# TOTAL: 2
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
============================================================================
make[3]: *** [Makefile:1416: test-suite.log] Error 1
make[3]: Leaving directory '/build/source'
make[2]: *** [Makefile:1524: check-TESTS] Error 2
make[2]: Leaving directory '/build/source'
make[1]: *** [Makefile:1770: check-am] Error 2
make[1]: Leaving directory '/build/source'
make: *** [Makefile:1301: check-recursive] Error 1
builder for '/nix/store/cfj5q7lizvimbp1ricjdzdfrbmvpgji2-system-config-printer-1.5.12.drv' failed with exit code 2
cannot build derivation '/nix/store/bgnm70b1mfkl20ilarxgbk7whcimn2s9-dbus-1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/2lqyrh7gq071hhi7zw70r3p1306k8ypg-hwdb.bin.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/rag5y5sqsz7dr4sj04hi6gmckgc3kaqw-man-paths.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/jd3g2cd69h96qanmfyg2a12mcgp9yqc8-system-config-printer-1.5.12_fish-completions.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/w2i9psq795fjkjxi3bsn4kymphyp5wq4-system-generators.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mapznq0nd87mdq4i6bc20r86hppx0ac4-system-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/271j8af4spxm2mb2hs834zsw8x9xpw03-system-shutdown.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/vxbd5s34wckz7v102rjzqak2mzqwrrhz-system-units.drv': 1 dependencies couldn't be built
building '/nix/store/sq8nmvv7hay1wmjp48kp18mikrip0sax-telepathy-glib-0.24.2_fish-completions.drv'...
building '/nix/store/65rcrpp3wiy10gp3r6vdkwrp884vnlck-telepathy-logger-0.8.2_fish-completions.drv'...
building '/nix/store/drd99m0vwcc2nl09na42n4gms5ji6arc-telepathy-mission-control-5.16.6_fish-completions.drv'...
building '/nix/store/xcffmlminlpxqaaifa66z9d2cqwfk4pj-texinfo-interactive-interactive-6.7_fish-completions.drv'...
cannot build derivation '/nix/store/az4jpzbxk2fib977lyfk2xm261axajnk-udev-rules.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/n442nn4c0sy01l89sslrfkzwdxm6q32b-user-units.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/1n783yh6w37bd8zpirf0w32fsycff1ky-nixos-system-halcek-21.11pre303315.16105403bdd.drv': 1 dependencies couldn't be built

I assume cupshelpers is at fault, meaning cups in general in some way, the default way for linux to deal with printer setup?

This problem was already fixed by this PR system-config-printer: 1.5.12 -> 1.5.15 by maxeaubrey · Pull Request #130985 · NixOS/nixpkgs · GitHub

2 Likes

Cool. Much appreciated.