system-config-printer-0.6.116.5-1 on fully patched EL4.4 x86 box: /usr/share/printconf/util/cups_import.py contains this code... def which_spooler (): """Return the name of the active spooler.""" signal.signal (signal.SIGCHLD, signal.SIG_DFL) f = os.popen ('LC_ALL=C /usr/sbin/alternatives --display print') for l in f.readlines (): if l.startswith (" link currently points to"): which = l.split ('.')[1].strip () break f.close () return which the python split line assumes that the lpr binary contains a "." character. Ex, lpr.cups . Our systems use a different version of LPR which doesn't contain that character and thus the traceback: # system-config-printer Traceback (most recent call last): File "/usr/sbin/system-config-printer", line 9, in ? import queueTree File "/usr/share/printconf/util/queueTree.py", line 1236, in ? queueTree() File "/usr/share/printconf/util/queueTree.py", line 138, in __init__ if cups_import.import_needed (): File "/usr/share/printconf/util/cups_import.py", line 200, in import_needed which = which_spooler () File "/usr/share/printconf/util/cups_import.py", line 191, in which_spooler which = l.split ('.')[1].strip () IndexError: list index out of range # /usr/sbin/alternatives --display print <snip> link currently points to /usr/athena/bin/lpr <snip> This appears to have shown up with the 4.4 update. Perhaps we could work around this by renaming the lpr binary and use a "."? # cd /usr/athena/bin/ # ln -s lpr lpr.isu # ln -s /usr/athena/bin/lpr.isu /etc/alternatives/print and that appears to allow system-config-printer to work again.... Thought I would file just to be sure... thanks! daryl
The system-config-printer application can only configure CUPS, not any 3rd party spoolers. Elsewhere there is a test to see whether the link is to 'lpr.cups', and the application will fail at that point if it is not. The quoted Python code (checking for output of alternatives) has been present in system-config-printer since the original release of Red Hat Enterprise Linux 4, and was not introduced in Update 4.