Automatic printer driver download should support signed packages

Registered by Till Kamppeter

The OpenPrinting web site provides the first manufacturer-supplied printer driver packages with binary executables. The packages are signed and links to the packages themselves and to the key fingerprints are provided on the OpenPrinting web site, readable through the site's web query API.

Jockey supports downloading packages from OpenPrinting but has no support for verifying signatures. To enable downloading manufacturer-supplied binary driver packages we need the signature support being implemented in Jockey.

Blueprint information

Status:
Complete
Approver:
Michael Vogt
Priority:
Medium
Drafter:
Martin Pitt
Direction:
Approved
Assignee:
Martin Pitt
Definition:
Approved
Series goal:
Accepted for natty
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-11.04-beta-1
Started by
Martin Pitt
Completed by
Martin Pitt

Whiteboard

Work items:
extend OpenPrintingDriverDB to also query for binary drivers which are signed: DONE
for signed packages, fetch URL of fingerprint from OpenPrinting query result, key, check fingerprint, and install it into /etc/apt/trusted.gpg.d/jockey-drivers.gpg: DONE
check package.candidate.is_trusted; if it's failing, remove repo and key again: DONE
test with Epson printer driver on real system: DONE
provide progress bar feedback while updating apt indexes after adding a new repository: DONE
write a local test case for this: DONE
do upstream jockey release: DONE
upload to Ubuntu: DONE

Status:
Necessary infrastructure provided by jockey 0.7 upstream now (https://launchpad.net/jockey/trunk/0.7), all with unit tests. Ubuntu (apt) implementation in Ubuntu branch, including local automatic integration test cases for all combinations of signed/unsigned arch:all/binary packages, GPG key retrieval and checking.

Test case:
dbus-send --print-reply --dest=com.ubuntu.DeviceDriver /GUI com.ubuntu.DeviceDriver.search_driver string:"printer_deviceid:MFG:EPSON;MDL:Epson ME 320"

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.