DevHeads.net

CUPS 2.3.0 coming into rawhide

Hi all,

after 2 years or so of solving licensing issue, I would like to announce
CUPS-2.3.0 is going into Fedora rawhide next week.

The 2.3.0 version brings several changes:

_Change of license:_

It is Apache software license 2.0 with exceptions for LGPLv2 only and
GPLv2 only now. ASL 2.0 is compatible with licenses GPLv2+ and LGPLv2+
and exceptions cover projects which are version 2 only, so no dependent
package is affected.

The main license is to be found in LICENSE file, exceptions in NOTICE.

_Deprecation of printer drivers and raw queues:_

Because most printers produced since approx. 2012 support IPP everywhere
(or AirPrint) standard [1],  CUPS upstream decided to deprecate printer
drivers and raw queues support. That means printer drivers and raw
queues are *STILL AVAILABLE, BUT YOU GET DEPRECATION WARNING *when you
create them. They will be removed in the future, substituted by printer
applications or 'everywhere' model.

There are small tutorial [2] and FAQ [3] about IPP everywhere.

_Introduction of printer application:_

CUPS 2.3.0 now provides ippeveprinter binary, which is now shipped in
cups-printerapp subpackage. This is the printer application provided by
CUPS upstream, which acts as IPP everywhere print queue above NOT-IPP
everywhere enabled printer. ippeveprinter now works for printers who
accepts postscript and PCL languages.

More info about printer applications can be seen at CUPS plenary from
PWG 2018[4] or my report from PWG 2019[5], small usage cases will be in
man pages ippeveprinter(1) and ippeveps/ippevepcl(7).

OpenPrinting and PWG group are working hard on providing printer
applications for the biggest printer driver packages e.g. foomatic,
gutenprint and hplip. There will be several projects for those issues
during Google Summer of Code 2020 to create those printer applications
and ensure that there is a way how to make postscript and PCL printers
works after printer driver removal. News from the group can be see at [6].

_How to find out that my printer is 'IPP everywhere':_

- prerequisites:

    - opened port 631 on the printer

    - [for cups temporary queues feature[7]] - running
avahi-daemon.service, nss-mdns package installed,    printer in local
network

- how to do the deed:

*  by 'lpstat -e' - shows all print queues available on the PC -
permanent and temporary
* 'sudo lpinfo -l -v' - show all devices available on local network -
the IPP eve printer is marked 'driverless'
* try to install printer with 'everywhere' model and IPP device uri:
o common device uri is
'ipp://<hostname_or_IP_of_printer>:631/ipp/print'
o then issue the command:
+ $ sudo lpadmin -p <name_of_choice> -v
'ipp://<hostname_or_IP_of_printer>:631/ipp/print -m
everywhere -E
o if the command went well, your printer is IPP everywhere enabled :)
* there is IPP everywhere self-certification script [8], but it has
not been in Fedora yet, but I plan to package it along with ippusbx [9]

[1] <a href="http://www.pwg.org/ipp/everywhere.html" title="http://www.pwg.org/ipp/everywhere.html">http://www.pwg.org/ipp/everywhere.html</a>

[2] https://github.com/apple/cups/wiki/IPP-(Everywhere)-Mini-Tutorial

[3] <a href="https://beta.pwg.org/ipp/evefaq.html" title="https://beta.pwg.org/ipp/evefaq.html">https://beta.pwg.org/ipp/evefaq.html</a>

[4]
<a href="https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-18.pdf" title="https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-18.pdf">https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plen...</a>
, page 28

[5]
<a href="https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject.org/message/FJR462QFSTSNNCHFA5GVDKV6D2SXELL6/" title="https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject.org/message/FJR462QFSTSNNCHFA5GVDKV6D2SXELL6/">https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject....</a>

[6] <a href="https://openprinting.github.io/" title="https://openprinting.github.io/">https://openprinting.github.io/</a>

[7] Feature introduced in cups-2.2.4 - CUPS catches avahi messages about
printers in local network and make them available only when you need -
during print dialog of applications - and they disappear after minute
since successful print job.

[8] <a href="https://github.com/istopwg/ippeveselfcert" title="https://github.com/istopwg/ippeveselfcert">https://github.com/istopwg/ippeveselfcert</a>

[9] Daemon which makes USB printers available on the local network
through avahi <a href="https://github.com/OpenPrinting/ippusbxd" title="https://github.com/OpenPrinting/ippusbxd">https://github.com/OpenPrinting/ippusbxd</a>