Meeting called to order by Ira McDonald at 12pm US Eastern on 4 October 2016. Minutes taken by Ira McDonald.
Recording of this conference call will be archived at:
- Till is working with several printer manufacturers - No further news/tests/changes/releases
- See PWG News below
- CUPS source code and bug reports are handled on GitHub now - https://github.com/apple/cups/ - CUPS release v2.2.1 on 27 September 2016 (Mike) - Added "CreateSelfSignedCerts" directive for cups-files.conf to control whether the scheduler automatically creates its own self-signed X.509 certificates for TLS connections (Issue #4876) - http*Connect did not handle partial failures (Issue #4870) - Addressed some build warnings on Linux (Issue #4881) - cupsHashData did not use the correct hashing algorithm (<rdar://problem/28209220>) - Updated man pages (PR #4885) - Updated localizations (PR #4877, PR #4886) - CUPS release v2.2.0 on 13 September 2016 (Mike) - Normalized the TLS certificate validation code and added additional error messages to aid troubleshooting. - http*Connect did not work on Linux when cupsd was not running (Issue #4870) - The --no-remote-any option of cupsctl had no effect (Issue #4866) - http*Connect did not return early when all addresses failed (Issue #4870) - CUPS release v2.2rc1 on 8 August 2016 (Mike) - Updated the list of supported IPP Everywhere media types. - The IPP backend did not validate TLS credentials properly. - The printer-state-message attribute was not cleared after a print job with no errors (Issue #4851) - The CUPS-Add-Modify-Class and CUPS-Add-Modify-Printer operations did not always return an error for failed adds (Issue #4854) - PPD files with names longer than 127 bytes did not work (Issue #4860) - Updated localizations (Issue #4846, PR #4858) - CUPS Filters recent changes summary (Till) - Prepared cups-filters for being packaged in a Snappy package where it will run in a Sandbox. Especially made all paths for files fully configurable and use CUPS' environment variables to determine the location of CUPS' resources. - Several bug fixes for load-balanced clusters of print queues, especially to get access to PPD options and to make the clusters also work correctly if the remote printers are discovered by legacy CUPS broadcasts. - Fixed causes of cups-browsed hanging on system shutdown. - Let PPD options of remote queues get correctly saved on shutdown of cups-browsed and re-applied in the next cups-browsed session. - Completed MuPDF support. - Allow configuring BrowseInterval and BrowseTimeout (for legacy CUPS browsing) in cups-browsed. - Let Ghostscript do more accurate line graphics output on low-resolution printers (like bar codes on label printers). - Lots of bug fixes. - CUPS Filters v1.11.5 release plans (Till) - cups-browsed: Allow changing BrowseInterval and BrowseTimeout via cups-browsed.conf, as it was formerly with CUPS (Debian bug #794655). - pdftopdf: Count the actual output pages also if the number-up option is not used, to correctly find out whether we have an even or odd number of pages, even if the page-ranges option is used. This is needed to correctly decide whether for duplex printing a blank page has to be added (Bug #1377). - CUPS Filters v1.11.4 release on 21 September 2016 (Till) - gstoraster: Allow Ghostscript to use the center-of-pixel method instead of the PostScript-standard any-part-of-pixel method when rendering filled paths. This improves the graphics output quality of low-resolution printers like label printers, for example to assure readability of bar codes (Bug #1373). - cups-browsed: Fixes to avoid unneeded calls of handle_cups_queues() and even infinite loops (Possible fix for bug #1376). Also make sure that queues left over from the previous cups-browsed session are integrated correctly. - CUPS Filters v1.11.3 release on 15 September 2016 (Till) - cups-browsed: If a queue is not only discovered via Bonjour but also via legacy CUPS or LDAP, prefer the Bonjour record as it provides more information and there is also a defined cancellation broadcast. - cups-browsed: Let PPD options saved in the last session also get applied to generated PPDs for IPP network printers. - cups-browsed: Make sure that saved PPD options do not get lost if for some reason the PPD file cannot be loaded in a new cups-browsed session (or the loaded PPD file is different). This is done by holding a copy of the settings in the remote printer data structure. - cups-browsed: When saving option settings, remove backslashes added when the settings are read out via IPP request. Otherwise the backslashes would double with each session of cups-browsed. - implicitclass: Do not let the job get immediately retried on failure to send it out to the remote CUPS printer. By repeating to send the job to an unavailable server so quickly, cups-browsed gets bombed with requests and hangs on shutdown. - cups-browsed: Shortened timeouts of HTTP connections and IPP requests to 3 seconds amd of IPP requests to remote CUPS servers to 2 seconds. For local IPP requests always use the connection once created via http_connect_local(). Also call g_main_context_wakeup(NULL) after each g_main_loop_quit(gmainloop) call. These measures should reduce long hangs of cups-browsed on shutdown when a CUPS server got unavailable. - cups-browsed: Do not mark remote printers discovered via legacy CUPS broadcasts as disappeared right from the beginning to implement the browse timeout. Instead manage their expiring by introducing a flag which marks them as CUPS legacy printers. Printers with disappeared status are considered invalid in some situations, especially when cluster in equally-named remote printers (Bug #1374). - cups-browsed: When we have remote CUPS printers, we use the implicitclass backend and a local copy of the remote PPD file already if we have only a single remote printer with this queue name. This simplifies the management of remote CUPS printers and also we do not hassle with using a remote PPD file. Now one can change PPD option defaults with printer setup tools or the lpadmin command and they get preserved in the next cups-browsed sessions. - if we are using the implicitclass backend CUPS does not make the server's PPD file available on the client any more. To fix this, we download the PPD file when creating an implictclass:... queue and apply it to the queue. This way the options of the printer(s) are always available for enumeration, especially in print dialogs (Bug #1372). We modify the local copy setting any options saved from the previous session and inhibiting local execution of filters (as the driver for the remote printer is not necessarily available locally). - cups-browsed: Added flag to inhibit auto-backup of option settings by the on_printer_modified() notification handler during print queue setup and removal. - cups-browsed: Let the printer_record() function always return the master record for the printer name and not an arbitrary duplicate. - cups-browsed: Fixes in the functionality for saving option settings: Make sure to not save the same option twice with different values, do not save the "printer-is-shared" option (errors out when re-applying option in the next session). - cups-browsed: Treat discovered printers correctly also if they use a non-standard port, even if several CUPS daemons are running on the same server but on different ports. This also improves the support of a sandboxed printing stack. - cups-browsed: Close http connections opened for polling properties of IPP network printers, to fix a possible memory leak. - cups-browsed: Cleaned up HTTP access to local and remote CUPS servers and IPP printers, to assure that the local CUPS daemon is always accessed the same (user-defined) way (domain socket/localhost:port). This especially prevents cups-browwsed hanging on shutdown (Debian bug #832637). - cups-browsed: Fixed clustering equally-named queues of different remote servers, to assure to have one master referencing to all duplicates and not a daisy chain of duplicate references. - CUPS Filters v1.11.2 release on 28 August 2016 (Till) - cups-browsed: Allow turning off the use of CUPS' domain socket via cups-browsed.conf. - foomatic-rip: When run as regular CUPS filter use preferably /etc/cups/foomatic-rip.conf (or whereever the CUPS configuration files reside, according to the CUPS_SERVERROOT environment variable) as configuration file. This way we can more easily run the printing stack in a sandbox. - foomatic-rip: When run as regular CUPS filter, read the PPD through CUPS and get the print queue name by environment variable. - bannertopdf, foomatic-rip, gstoraster, mupdftoraster, pdftoopvp, pdftoraster: Do not use build-time hard-coded paths, but always the paths from the environment variables which CUPS sets when calling its filters. This is needed to run the printing stack in a sandbox. - CUPS Filters v1.11.1 release on 17 August 2016 (Till) - mupdftoraster: Lowered the priority (raised the cost value) in the cupsfilters-mupdf.convs file so that in a full cups-filters installation MuPDF is not prioritized. - CUPS Filters v1.11.0 release on 17 August 2016 (Till) - pdftops: Added support for MuPDF as PDF renderer. MuPDF can be selected by the "pdftops-renderer=mupdf" option. - rastertops: Removed unneeded page logging. - rastertops: Fixed DSC comments, some were only preceded by a single '%' instead of a double "%%". - gstoraster, pdftops, foomatic-rip: Use -dNOMEDIAATTRS when calling Ghostscript. This way Ghostscript does not try to match media sizes with internal lists. - Build system: Allow building cups-filters without Poppler (--disable-poppler in ./configure command line) This skips the build of pdftoraster, bannertopdf, pdftoijs, and pdftoopvp and the installation of these filters and their auxiliary files. With this cups-filters can be easily installed on mobile/appliance systems with MuPDF as the only PDF interpreter. - mupdftoraster: Added filter to support MuPDF as PDF interpreter. MuPDF is a lightweight PDF interpreter especially interesting for mobile systems and appliances. Thanks to Pranjal Bhor for contributing this as part of his Google Summer of Code project. - gstoraster: Fix setting of width and height of the page in pixels when there is no Resolution option in the PPD. - cups-browsed, implicitclass: Avoid the use of files for the communication between cups-browsed and the load-balancing backend implicitclass. Instead of in a file, cups-brwsed stores the destination server name in an option (which CUPS saves in printers.conf) which the implicitclass backend reads via IPP. This not only makes it easier to run cups-filters in a sandbox, but it is also better in terms of system security. - cups-browsed: Allow configuring where the files produced by cups-browsed will get stored. This makes it easier to run cups-filters in a sandbox. - beh: Fixed printing multiple copies with beh (Ubuntu bug #1605514). - cups-browsed: Fixed several memory leaks, especially when using IPP requests and DNS-SD TXT record look-ups. Thanks to Ivo Straka for finding them with Valgrind and supplying patches to fix them (Bug #1365, Bug #1368, Ubuntu bug #1203276). - libcupsfilters: Added missing "#include <cups/ppd.h>" to make sure that the package builds on all systems (Bug #1366).
- Open Printing projects for 2016 - Add muPDF support to CUPS Filters - Pranjal Bhor (from India) - Mentor Till Kamppeter (Canonical, Brazil) - Using the lightweight MuPDF PDF interpreter allows for a smaller and less resource-consuming printing stack on mobile devices and appliances. Work will consist of adding a rastertops filter, adding MuPDF support to the existing filters, and adding a facility to flatten filled forms in PDF files to static PDF content to assure filled in data will get printed. - STATUS - success - Pranjal completed the rastertops and mupdftoraster filters - Till added MuPDF support to pdftops, so MuPDF support got completed in cups-filters v1.11.1 (included in Ubuntu 16.10/Yakkety) - Complete IPP discovery support in GTK Dialog - Kevin Naughton Jr. (from New York) - Mentor Marek Kasik (Redhat) GTK Print Dialog maintainer - Find and list IPP network printers with their options without need of a running cupsd and/or cups-browsed. - STATUS - failure - Kevin failed to complete the project successfully - No code from Kevin was added to the repository of GTK Print Dialog - GSoC broken final reports (cannot be edited) issue still outstanding - GSoC 2016 Schedule - 8-19 February - project proposals by mentors - 29 February - GSoC approves mentoring organizations - 29 February to 13 March - Students discuss GSoC projects - 14-25 March - Students apply for GSoC projects - 25 April - GSoC approved projects/students - Two OP students accepted - Pranjal Bhor (from India) - muPDF integration in CUPS Filters - Kevin Naughton Jr. (from New York) - GTK IPP discovery dialog updates - 23 May - GSoC coding begins (10% of funds released) - 20-27 June - GSoC mid-term evaluations (45% of funds released) - All 11 GSoC students for Linux Foundation passed mid-term evaluations - 15-22 August - GSoC "pencils down" - Students fill out completion forms, then Mentors fill out evaluations - 30 August - GSoC results announced (45% of funds released) - GSoC broken final reports (cannot be edited) issue still outstanding
- Debian dropped LSB support in Spring 2016 - Impact on distribution-independent drivers from Open Printing - topic was discussed during PWG/OP Summit in April - Development in progress for SNAPS distro-independent packages (Till) - SNAPS developers are defining new standard plug-in interface - Till is building CUPS and CUPS Filters SNAPS - OP will link to new plug-in drivers so that OEMs can find themACTION: Till and Ira draft new content for Open Printing website that explains SNAPS approach to distribution-independent drivers
- PWG Virtual F2F - 14-15 November 2016 - http://www.pwg.org/chair/meeting-info/november-2016-virtual.html - IPP Everywhere Self-Certification - PWG 5100.20-2016 - Active !!! - https://www.pwg.org/ippeveselfcert - https://github.com/istopwg/ippeveselfcert/issues - http://ftp.pwg.org/pub/pwg/candidates/cs-ippeveselfcert10-20160219-5100.20.pdf - HP has certified 20 IPP Everywhere printer models - as of 4 October 2016 - IPP Everywhere Self-Certification website - opened 25 March 2016 - ONLY available to PWG members (but FREE to PWG members) - REQUIRED for PWG IPP Everywhere Logo usage - REQUIRED for Mopria Alliance and WiFi Direct Print Service certifications - IETF IPP/1.1 Updates (Mike/Ira) - IETF Approved - Stable drafts !!! - https://www.ietf.org/internet-drafts/draft-sweet-rfc2910bis-10.txt - https://www.ietf.org/internet-drafts/draft-sweet-rfc2911bis-11.txt - changes for new IETF Proposed Standards - Alexey Melnikov (IETF ART AD) as AD sponsor on 06/02/16 - Barry Leiba as Document Shepherd on 06/09/16 - IETF approved RFC2910bis as Proposed Standard on 08/08/16 - IETF approved RFC2911bis as Proposed Standard on 09/06/16 - Schedule - IETF RFCs published in Q4 2016 - IPP System Service (Mike/Ira) - Interim draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippsystem10-20161004-rev.pdf - IPP WG review on 09/19/16 - Schedule - Prototype draft in Q4 2016 / Q1 2017 - IPP 3D Printing Extensions (Mike) - Prototype draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipp3d10-20160824-rev.pdf - IPP WG review on 10/05/16 - Schedule - Stable draft in Q4 2016 / Q1 2017 - IPP Finishings 2.1 (Smith) - Stable draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippfinishings21-20161104-rev.pdf - IPP WG review on 10/05/16 - Schedule - PWG Call for Objections in Q4 2016 / Q1 2017
- Trusted Computing Group in Seoul, South Korea - 17-21 October 2016 - http://www.trustedcomputinggroup.org/ - PWG Virtual F2F - 14-15 November 2016 - http://www.pwg.org/chair/meeting-info/november-2016-virtual.html - Trusted Computing Group in San Diego, CA - 6-10 February 2017 - http://www.trustedcomputinggroup.org/ - PWG F2F in Boise, ID (HP Inc host) - 14-15 February 2017 - http://www.pwg.org/chair/meeting-info/meetings.html - Joint PWG/OP Summit in Sunnyvale, CA (Apple Host) - 25-27 April 2017 - http://www.pwg.org/chair/meeting-info/meetings.html - tentative dates/location pending Apple confirmation
Open Action Items
Next OP US/Europe/Brazil Conference Calls
- Note - Summer Time starts in Brazil on 14 October - Note - Summer Time ends in Europe on 30 October - Note - Daylight Savings Time ends in US on 6 November - Tuesday 8 November 2016, Daytime - US 9am in San Francisco - US PST (Pacific Standard Time) 10am in Colorado - US MST (Mountain Standard Time) 11am in Chicago - US CST (Central Standard Time) 12pm in New York - US EST (Eastern Standard Time) - Europe 6pm in Berlin - CET (Central Europe Time) - Brazil 3pm in Belo Horizonte - BRT (Brasilia Time) US: +1 641-715-3814 - NEW NUMBER in US started in November 2015 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)
- Tuesday 6 December 2016, Daytime - US 9am in San Francisco - US PST (Pacific Standard Time) 10am in Colorado - US MST (Mountain Standard Time) 11am in Chicago - US CST (Central Standard Time) 12pm in New York - US EST (Eastern Standard Time) - Europe 6pm in Berlin - CET (Central Europe Time) - Brazil 3pm in Belo Horizonte - BRT (Brasilia Time) US: +1 641-715-3814 - NEW NUMBER in US started in November 2015 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)
- Tuesday 10 January 2017, Daytime