system-config-printer does not automatically download and install printer driver packages any more

Bug #1401835 reported by Till Kamppeter on 2014-12-12
32
This bug affects 4 people
Affects Status Importance Assigned to Milestone
system-config-printer (Ubuntu)
High
Unassigned
Trusty
High
Unassigned
Utopic
High
Unassigned

Bug Description

The transition from Python2 to Python3, the replacement of the OpenPrinting web server by a new VM running Ubuntu 12.04 instead of 10.04 (which was done bevause the old VM was completely overloaded and so contributed a part of the inability to auto-install drivers), and code restructuring in system-config-printer has broken automatic driver package download at several points. This is now fixed in the Vivid package of system-config-printer but (at least part) of the fixes needs to get backported to Utopic and Trusty, for which I have posted this bug report.

[Impact]

With the OpenPrinting web server change (Utopic, Trusty) and the transition to Python3 (Utopic) automatic driver download stopped working. So users of Utopic and Trusty who connect a printer only supported by a downloadable driver package listed at OpenPrinting (mostly newer Epson inkjets but also new PostScript/PCL printers from Ricoh and OEM, Samsung, ...) will not get the correct driver letting the printer not work at all or work with an inferior generic driver.

[Test Case]

If you do not have one of the mentioned printers, create a file named /usr/lib/cups/backend/testbackend containing the line

echo 'direct usb://EPSON/EP-801A "EPSON EP-801A" "EPSON EP-801A" "MFG:EPSON;CMD:ESCPL2,BDC,D4,D4PX,ESCPR2;MDL:EP-801A;CLS:PRINTER;DES:EPSON EP-801A;" ""'

and make it world-readable and -executable:

sudo chmod a+rx /usr/lib/cups/backend/testbackend

This emulates an Epson EP-801A printer on USB, at least for CUPS' printer discovery facility.

Start system-config-printer and click the "Add" button. In the printer setup wizard choose the Epson EP-801A under the detected printers. There will pop up "Searching driver" messages several times but in the end the manual make/model/driver selection screen appears as system-config-printer was not able to find a driver for this printer.

With the proposed packages for Utopic and Trusty a driver is find via OpenPrinting ("epson-escpr") and offered for download. Accepting this leads to the driver being installed (and the Debian package repository at Epson being locally registered for future updates by Ubuntu's update mechanism) and afterwards automatically being assigned to the new print queue. The user is only asked for setting the queue name and comments before the wizard completes.

[Regression Potential]

Regression potential is low, as the fix consists of several small, independent changes, and most of them are not hit if the newly added printer is supported by a locally available driver.

Changed in system-config-printer (Ubuntu):
status: In Progress → Fix Released
Changed in system-config-printer (Ubuntu Trusty):
status: New → In Progress
Changed in system-config-printer (Ubuntu Utopic):
status: New → In Progress
Changed in system-config-printer (Ubuntu Trusty):
importance: Undecided → High
Changed in system-config-printer (Ubuntu Utopic):
importance: Undecided → High
Till Kamppeter (till-kamppeter) wrote :

Part of the fix is the workaround for the aptdaemon problem reported as bug 1397750.

description: updated
Till Kamppeter (till-kamppeter) wrote :

Uploaded packages fixing bug 1398444, bug 1400232, and bug 1401835 to trusty-proposed and utopic-proposed. As soon as the packages are approved they will be available for download and testing and instructions will get posted here. Please test the packages and give your feedback here, otherwise they will not get available as official update.

description: updated

Hello Till, or anyone else affected,

Accepted system-config-printer into utopic-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/system-config-printer/1.5.1+20141010-0ubuntu2.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in system-config-printer (Ubuntu Utopic):
status: In Progress → Fix Committed
tags: added: verification-needed
Till Kamppeter (till-kamppeter) wrote :

Checked with the package from utopic-proposed and automatic driver package installation is working now.

tags: added: verification-done
removed: verification-needed
Till Kamppeter (till-kamppeter) wrote :

Also checked with the package from trusty-proposed and automatic driver package installation is working now. So the fix for Trusty is also verified (system-config-printer 1.4.3+20140219-0ubuntu2.4).

Changed in system-config-printer (Ubuntu Trusty):
status: In Progress → Fix Committed
Till Kamppeter (till-kamppeter) wrote :

The proposed system-config-printer package for Trusty got a dependency on cups-filters-ippusbxd accidentally (binary package system-config-printer-udev). I will upload a corrected -0ubuntu2.5 soon.

Changed in system-config-printer (Ubuntu Trusty):
status: Fix Committed → In Progress
tags: added: verification-done-utopic verification-failed-trusty
removed: verification-done
Till Kamppeter (till-kamppeter) wrote :

Uploaded system-config-printer_1.4.3+20140219-0ubuntu2.5 to trusty-proposed with the dependency on cups-filters-ippusbxd removed. See bug 1409263.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package system-config-printer - 1.5.1+20141010-0ubuntu2.2

---------------
system-config-printer (1.5.1+20141010-0ubuntu2.2) utopic-proposed; urgency=medium

  * debian/patches/70_package-download-fixes.patch: Fixed several bugs to
    make automatic printer driver download working again (LP: #1401835):
     o Use pyrequests instead of pycurl for secure (verified certificate)
       downloads. pycurl stopped working after the OpenPrinting web server
       has moved from Ubuntu 10.04 to 12.04 (LP: #1394244).
     o In the install-printerdriver script improved the check for the
       necessity of adding the driver's Debian repository and added a
       workaround for a bug in aptdaemon interpreting PackageKit's package
       IDs wrongly when installing a package (LP: #1397750).
     o In fillDriverList() use ".hasattr()" to check presence of
       attributes.
     o Python3 transition bugs
  * debian/patches/73_support-non-utf-8-encoded-ppds.patch: Do not
    crash on non-UTF-8-encoded PPD files (LP: #1400232)
  * debian/control: Depend on python-requests instead of on python-pycurl.
 -- Till Kamppeter <email address hidden> Sat, 13 Dec 2014 11:01:26 +0100

Changed in system-config-printer (Ubuntu Utopic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for system-config-printer has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Re-subscribing ubuntu-sru for the SRU on Trusty.

Changed in system-config-printer (Ubuntu Trusty):
status: In Progress → Fix Committed

Checked with the new package from trusty-proposed (-0ubuntu2.5) and automatic driver package installation is working now. So the fix for Trusty is verified.

tags: added: verification-done-trusty
removed: verification-failed-trusty

If you still have problems with package installation by system-config-printer, please have a look at bug 1412722 and bug 1412729 and as soon as the proposed fixed packages get available there, test them and tell in that bug reports whether they solve your problem.

Bruno Nova (brunonova) wrote :

Great! Thanks!

PS: I had tested the fix in a virtual machine, but it crashed. I thought it could be because of VirtualBox, but the cause was probably the 2nd bug you linked. I'll test the fix in Trusty when it's available!

Bruno, the fix for bug 1412722 and bug 1412729 in Trusty is ready for testing now.

The Trusty update releated to this bug is released. Therefore closing this bug as fixed.

Changed in system-config-printer (Ubuntu Trusty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers