On Thu, Feb 28, 2019 at 2:56 PM Stephen Gallagher <sgallagh(a)redhat.com> wrote:
* Printing must work on at least one printer available to Fedora QA.
"Work" is defined as the output from the device matching a preview
shown on the GNOME print preview display. (Note that non-ridiculous
differences in color reproduction are not considered "non-working". In
general, we'll apply the "last blocker at Go/No-Go" principle here
when deciding whether a print glitch is truly blocking.)
and this to Final for Fedora 30+:
* Printing must work (as defined above) on at least one printer using
each of the following drivers:
- The built-in print-to-PDF driver
- The generic IPP driver
* For each blocking desktop, it must be possible to print:
- A test page from the desktop environment's built-in "test page"
feature, if such a feature exists.
- A simple text document of at least 100 words (lorem ipsum) from
the standard basic text editor accompanying that desktop.
This does not mean that all printers need to function properly that
use the IPP driver, just that at least one does (so we
know that printing as a whole is unbroken). We won't specify any
particular hardware makes or models that must work.
I think "generic IPP driver" needs to be more specifically stated.
There's IPP protocol versions 1.1, 2.0, 2.1 and 2.2. The "driverless"
specification is IPP Everywhere, which uses IPP protocol versions 2.0
or higher, along with additional requirements to support driverless
device discovery and printing of text and images. There isn't strictly
speaking a generic IPP driver, although PCL and PostScript are common.
What supports IPP Everywhere out of the box?
Any computer running CUPS 1.5 or later
Mobile devices running Android 4.4 and later
Proposal for Fedora 30: If anyone is able to, with reasonable effort,
successfully run the agreed test cases to any printer supporting IPP
2.0 or higher, using whatever driver is required, then we don't block.
Proposal for Fedora 31: If anyone is able to, with reasonable effort,
successfully run the agreed test cases to any IPP Everywhere printer,
then we don't block.
Something I need to dig into deeper is how to create a virtual IPP
Everywhere printer (a service); which would be useful for testing, in
particular automated testing such that the virtual printer itself says
"yes this is a valid print job". But also it might be possible to
bridge the virtual IPP Everywhere printer with a conventional
CUPS+gimp/foomatic driver based printer. If so, I'm thinking Fedora
IoT on a Raspberry Pi Zero W, using a static containerized approach,
that once working, should be a reliable indicator that any failures
coinciding with print pipeline changes in the client, are in fact
client bugs. But we'll see about that.
This might be useful:
IPP Everywhere mini-tutorial
https://github.com/apple/cups/wiki/IPP-(Everywhere)-Mini-Tutorial
Other references:
IPP Everywhere FAQ:
https://www.pwg.org/ipp/evefaq.html
IPP Everywhere self-certified printers list:
https://www.pwg.org/dynamo/eveprinters.php
--
Chris Murphy