Meeting called to order by Ira McDonald at 1pm US Eastern. Minutes taken by Ira McDonald.
Note: New GoToMeeting account was used for this meeting.
Attendees
Agenda
- Progress report - First off, the Linux Foundation got accepted as mentoring organization. So we are again looking for amazing contributors to do projects with us and improve the printing and scanning experience with Linux. - Our selection process has already started some months ago and we already got some promising candidates. If you want to participate, too, have a look at our project ideas list. Please contact us as soon as possible and not only when Google's application time window opens (20 March 2023 to 4 April 2023). - Please send us your resume/CV and tell us what you like to work on, either on one of the project ideas or you can also provide your own project idea. Also have a look what we are doing via the links on our About Us and News and Events pages. - A nice side effect of having the contributors working on GitHub issues as part of the process is that we get several bugs fixed or feature requests implemented. For example we had completely overlooked to transfer the handy utility cupstestppd into libppd. Now, thanks to a contributor candidate we have it even as library function, ppdTest(), in addition to the new command line utility testppdfile. Also several bugs in the print filters got fixed. - Thanks a lot to all contributor candidates who helped us fixing bugs and accomplishing other tasks.
- Progress report - The Linux App Summit 2023 in Brno in the Czech Republic is coming closer. The conference will actually take place on Saturday 22 April 2023 and Sunday 23 April 2023. On Friday 21 April 2023 there will be a pre-registration. - The Call for Proposals has closed and we got a lot of great abstracts, for talks, lightning talks, workshops, and BoFs, 44 in total. So now we have the hard work of selecting the best ones to accommodate in the two rooms we have, like last year in Rovereto an auditorium for the talks and lightning talks and a classroom for the workshops and BoFs. - Provided that it gets accepted, Till will give a talk about the Printing GUI work to support the New Architecture, on the GNOME Control Center and on the print dialogs, especially the GTK one, and perhaps also give a short demo. Till will leave plenty of time in the end for an AMA (Ask Me Anything) and for further Q&A and discussion. Till will also run an OpenPrinting BoF session afterwards. - On Till's two printing sessions you will also have the chance to meet - Marek Kasik (GTK/GNOME printing maintainer) - Zdenek Dohnal (Red Hat printing maintainer, great contributor to CUPS and OpenPrinting) - Albert Astals Cid (Qt print dialog) - Harald Sitter (KDE developer, wants to improve Qt print dialog UI) - They will be in the rooms to answer questions and participate in the discussions. - Till will also make use of the fact that this year we will for the first time offer workshops and give a workshop to learn how to snap (= package as a Snap) applications for distributing them via the Snap Store. So anyone who has missed Till's Snap workshop series on the Ubuntu Summit, here is another chance. There is only this one workshop for the basics, but Till has also seen some talks about advanced topics under the submissions and has given good reviews to them. - Accepted contributions were announced on March 1.
- Progress report - Gaurav Guleria's GSoC 2022 work on CPDB support for GTK got finally merged into GTK upstream! - Gaurav posted the merge request during his GSoC time back in August 2022. Now, half a year later, after a lot of extra work after the GsOC, mainly during the winter break of his college, and after a lot of discuassion of him and me with the upstream maintainers Matthias Clasen and Marek Kasik, the code got finally merged. - Compared to Gaurav's initially posted code, a lot of changes were needed to fulfill the requirements of the upstream maintainers for the print dialog. Especially many changes required also the addition of important features to CPDB, especially synchronous and asynchronous polling of information, keeping the list of available printers up-to-date, human-readable option, choice, and option group names and translations,... All this Gaurav completed, mentored by Marek Kasik and Till. - With this, the Common Print Dialog Backends concept made it for the first time into real life, and especially into the most common of the print dialogs, the one of GTK. This way the print dialog is prepared for any change in the print technologies, especially the switchover of CUPS into the New Architecture without PPDs. - Now Gaurav is working on getting the merge request for the CPDB support in the Qt print dialog accepted... - On Linux App Summit 2023, end-of-April 2023, in Till's printing GUI talk, Till will report about this work, and if possible, also present a demo of it. And Marek Kasik will be with Till in the room, for questions and answers. - Gaurav, thanks for your amazing work on both the GTK print dialog itself and also on the 2nd generation of the CPDB and the backends! - Marek Kasik and Matthias Clasen, thanks a lot for guiding Gaurav to get his work accepted into GTK! - For the requirements of the CPDB support in the GTK print dialog Gaurav Guleria needed to do a lot of enhancements on CPDB itself, and when his merge request got accepted into GTK, CPDB 2.0b1 was already 2 months old and after that a lot of changes have been done, ending up with GTK's CPDB support not building with any released version of CPDB. Therefore we have now released version 2.0b2 of all the three components (cpdb-libs, cpdb-backend-cups, cpdb-backend-file) of the CPDB to allow easy building of the first CPDB-supporting GTK. - Features added are: - Options groups: This allows better structuring of options in print dialogs. Common options are categorized in groups, like media, print quality, color, finishing, ... - Initial printer list: When opening the dialog, in one synchronous function call the initial printer lists are polled from all installed backends. - Update printer list continuously: Backends will automatically signal any print queue updates to the frontend to keep the displayed list up to date. - Translation support: For option, choice, and group names translations can be provided, both from backends and from frontend libraries. - Allow re-establishing the D-Bus connections between frontend and backend. - CUPS backend makes use of the new features: It subscribes to CUPS notifications on print queue changes and passes the changes on to the frontend and it provides option/choice/group name translations from both CUPS’ message catalogs and polling via IPP from CUPS queues and printers. - Also several bugs got corrected and work on the documentation done. And there are now three source code download formats: *.tar.gz, *.tar.bz2, and *.tar.xz - Shortly before Feature Freeze for Ubuntu 23.04, Till released the third beta with improvements in translation support, now having functions to load translations synchronously and asynchronously.
- Progress report - Till continued working with Chandresh Soni on the PR for getting the Braille Printer Application upstream. Unfortunately, it is not in a working condition yet. - For now, we will simply use the classic CUPS driver as it is contained in the repository, just like Zdenek Dohnal for Red Hat. - Zdenek Dohnal also improved the privilege dropping of the cups-brf CUPS backend. Thanks a lot.
- Progress report - Michael Sweet has released the first beta of libcups 3.0! - This is the first of the new split components of CUPS 3.x. It will not only have deprecated features removed, like PPD file and classic driver support, but also a lot of new functionality, like for example: - DNS-SD API - JSON API - Localization API - Vast improvements on ipptool - More consistent APIs - New PWG media sizes - A lot more... - So we will not only get a streamlined all-IPP CUPS without the PPD burden, but also several nice new APIs to make the development of all kinds of printing-related software easier. - Now we need to test and adapt everything at OpenPrinting which is using libcups to the new library version: libcupsfilters, libppd, cups-filters, cups-browsed, pappl-retrofit, cpdb-backend-cups,... This should not be so complicated as we have transfered all PPD file support into libppd already. - And there is already a GSoC 2023 contributor candidate on it to start the adaptation.
- Progress report * UBUNTU - Till has continued the Ubuntu integration work. See also Till's report on it from last month, where he especially talked about the concepts and requirements. - Of all the packages libcupsfilters, libppd, cups-filters. cups-browsed, pappl, pappl-retrofit, cpdb-libs, cpdb-backend-cups, and cpdb-backend-file, the current versions are uploaded. - The first challenge is that they build on the 6 supported processor architectiures and pass two levels of automatic tests which get performed with every package upload, also on each of the 6 architectures. Libraries must in addition have a complete list of symbols (API function and variable names) used for automatic package dependency resolution. Only with this fulfilled, the package passes from proposed status to released status ("migrates"). Only packages with released status are visible for users who are searching for packages to install and replace the previous package version in the distro. This process is independent of whether the package is in Universe or in Main. - The two levels of tests are the build test which is performed when one runs make check after one has run make, so the freshly compiled, not yet installed programs are tested. The second level is the so-called autopkgtest which is performed with the software and all its dependencies installed on a virtual machine. This is to check whether the software runs in the actual system environment of the current Ubuntu. On each upload of a package not only the autopkgtest of the package itself is performed but also the autopkgtests of each package which depends on the uploaded package. * RED HAT - The new packages, for now at least libcupsfilters, libppd, cups-filters, and cups-browsed will replace the old cups-filters package also in Red Hat and Fedora Linux. Therefore Red Hat's printing maintainer Zdenek Dohnal did a lot of fixes and clean-up on the upstream source code and build systems of these packages. - Zdenek removed some unnecessary dependencies (Avahi, GLib, zlib, Freetype) from libcupsfilters which got overlooked during the separation. He also removed overlooked dependencies in the other packages, especially on C++ in cups-filters and cups-browsed and added explanations for the actual dependencies to the INSTALL files. These changes are in Till's release of the third beta. - Zdenek ran also Coverity on libcupsfilters (PR) and libppd (PR), discovering several bugs (memory leaks, possible buffer overflows, ...) and fixed those. These fixes are available in the fourth beta now. - Thank you very much, Zdenek for all this amazing work! - See February 2023 Open Printing News for more details.
- Progress report - Some of you were probably thinking about how to report a security vulnerability in OpenPrinting's software, how to do an appropriate private bug report. Perhaps some even gave up on the report because they did not find the right place for it. - Till has now investigated and found out how to get this done with GitHub repositories. First, the support for private bug reports needs to get activated in the security section, and second, to have the link to actually report such a bug not hidden under security, create at least one template for regular bug reports so that initiating a regular bug report lands the user on a template selection page, and here, in addition to the defined templates, a button for a private security bug report appears. - So to start somewhere, Till has added templates for issue submissions to the CUPS and cups-filters repositories. This adds said selection page when the "New Issue" button gets clicked, not only allowing to select the template ("Bug report", "Feature Request") but also providing a button for a private security bug report. Shortly after, Zdenek Dohnal already refined the one of CUPS and added a REPORTING_ISSUES.md file. We will soon add this on the remaining repositories of OpenPrinting.
- Progress report - Till released the second beta. It especially includes the systemd *.service file for auto-starting the Legacy Printer Application as system service, so that it can easily be used for making classically installed (also proprietary) printer drivers available for the CUPS Snap and for CUPS 3.x. - As an example case for the Legacy Printer Application, we can take this bug where it turns out that a printer designed to be driverless does not work correctly when used as such and the manufacturer worked around the bug with their proprietary driver, defeating the original driverless design of the printer. In the end of the bug's discussion thread, Till discussed with Zdenek Dohnal (Red Hat) and Brian Potkin (Debian) about how to use legacy CUPS drivers with the Legacy Printer Application in the era of the New Architecture / CUPS 3.x.
- Progress report - 625 printers certified for IPP Everywhere v1.0 - 372 printers certified for IPP Everywhere v1.1
- Progress report - No update
- Progress report - No update
- Progress report - No update
- Progress report - Current PAPPL release is v1.3.1 on 30 December 2022. - Mike Sweet has released PAPPL 1.3.1. It is a general bug fix release. - Changes: Fixed auto-add of USB printers Updated "ipp-attribute-fidelity" support Reduced sleep interval for USB gadget initialization
- Progress report - One of our GSoC contributor candidates is preparing for working on the GSoC project idea "Scanning support in PAPPL". He has compared the printing-related and scanning-related API functions, added header comments for automatic generation of developer documentation, implemented missing functions, and we had a video meeting to plan his work on the project.
- Progress report - No update
- Progress report - No update
- Progress report - No update
- Progress report - No update
- Progress report - No update
- Progress report - No update
- Progress report - No update
- Project report - No update
- CUPS (Mike and Zdenek) - Current v2.x stable release is OP CUPS v2.4.2 on 26 May 2022. - There will be further bug fix releases in the 2.4.x series. - In addition to the release of libcups 3.0b1 maintenance work on CUPS 2.x continued, as this version will be with us still for some time. - While assigning issue reports to GSoC contributor candidates and them investigating the reports and working on the bugs we get several fixes done. On CUPS the following problems have been solved: - If the get-printer-attributes IPP request on attributes all,media-col-databse fails, we poll all and media-col-database separately and several printers work this way. Without this in some cases printer features, like borderless printing, get overlooked. - snapd-glib got a new API snapd-glib-2, and the CUPS package in Ubuntu got updated by a patch. Now Till has added support for the new API upstream. - We fixed also a long-standing bug which broke printing on several monochrome driverless IPP printers due to the PPD file generator setting (the not available) RGB as default color mode. It is now fixed. - Ubuntu 23.04 (Lunar Lobster) will most probably come with CUPS 2.4.2, perhaps with 2.4.3 if it gets released in time for Final Freeze (13 April 2023). - CUPS Filters (Till) - Current v1.x stable release is v1.28.17 on 24 January 2023 - Current v2.x beta release is v2.0b3 on 31 January 2023. - In the course of the integration of the new generation of cups-filters in Ubuntu, Till has done two more beta releases to include general bug fixes and also fulfill requirements for Ubuntu. Also several of the bug fixes were done in cooperation with GSoC contributor candidates to whom we have given issue reports as assignments. * Third beta of CUPS Filters - Monochrome PXL-XL printing (Ghostscript, output device pxlmono) did not work due to the cfFilterGhostscript() filter function using the sRGB instead of the sGray color profile, which makes Ghostscript erroring out. - As in CUPS we have also added the separated polling of the all and media-col-database attributes from driverless printers to cups-filters. - We parse also media-col-ready in the get-printer-attributes IPP responses now, to more reliably find all media properties. - Removed the public cfPDFOut...() API (cupsfilters/pdfutils.h). This API only makes sense if the API of fontembed is also public, but this we made private earlier. - Removed unnecessary dependencies, especially on C++ in cups-filters and cups-browsed. Thanks, Zdenek Dohnal. - Many fixes in the build system and the source code documentation. * Fourth beta of libcupsfilters and libppd - Zdenek Dohnal from Red Hat has run all the components of the new generation of cups-filters through Coverity and found several bugs: Memory leaks, files not closed, possible string overflows, ... He fixed all these bugs in the upstream code. This assures reliability and security of all the new components, especially if being part of permanently running daemons (PR libcupsfilters, PR libppd). Thanks a lot, Zdenek! - Updated libcupsfilters to work with the latest version of QPDF (11) as building it showed a lot of warnings about the use of deprecated functions in QPDF. Now it should be even ready for the upcoming QPDF 12. - After GSoC candidate Biswadeep Purkayastha was assigned a bug report about the PostScript Printer Application not preventing the use of malformed, user-supplied PPD files, we realized that we did not transfer CUPS' valuable command line tool cupstestppd into libppd. This Biswadeep has now done, as the library function ppdTest(), easily callable from a PPD-retrofitting Printer Application. He also created the wrapper executable testppdfile to replace cupstestppd. Thanks a lot for this excellent work! - As in CUPS, we fixed the bug of PPD files for monochrome driverless IPP printers having RGB as default color mode choice in their PPD file and therefore the printer not printing also in the PPD generator of libppd. - And we fixed a crash in the cfFilterImageToRaster() filter function, PNG images coming out blank, crash on PPD files with "Unknown" default page size, and a possible crash in the build test (make check) of libppd. * CUPS Filters v1.28.17 - For distributions which do not switch the second generation of cups-filters yet, like Debian Bookworm, we have again backported important fixes to the 1.x series of cups-filters: - Let the PPD generator for driverless IPP printers only put the one, most desirable *cupsFilter2: ... line into the PPD, usually the one for Apple Raster. - Poll all and media-col-database attributes separately in get-printer-attributes IPP request if needed. - Let PPD generator also parse media-col-ready IPP attribute. - Actually read all margin sizes in the media-{left,right,top,bottom}-margin-supported IPP attributes and do not skip the first value which is often borderless.
- PWG Virtual F2F - 7-9 February 2023 - Ira attended - https://www.pwg.org/chair/meeting-info/february-2023-virtual.html - Joint PWG/Open Printing Summit Virtual F2F - 16-18 May 2023 - Ira/Till/Aveek to attend - https://www.pwg.org/chair/meeting-info/meetings.html - Status of AMSC and ISO liaisons w/ PWG (Paul Tykodi) - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20221212.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20230109.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20230123.htm - see PWG Steering Committee minutes from 12/12/22, 01/09/23, 01/23/23 - IPP Everywhere v1.1 Printer Self-Certification Tools Update 4 (Mike) - https://www.pwg.org/archives/ipp/2022/021227.html - v1.1 Tools Update 4 fourth last call started 19 August 2022 and is still open - PWG F2F discussion on 16 August 2022 - IPP WG discussion on 1 September 2022 - IPP WG Last Call started on 19 August 2022 and ended on 2 September 2022 - Approved and Released on 2 September 2022 - IPP Workgroup Charter (Ira) - PWG Approved - http://ftp.pwg.org/pub/pwg/ipp/charter/ch-ipp-charter-20210409.pdf - updated for new IPP WG projects - PWG Approved on 9 April 2021 - to be updated for more recent IPP WG projects in Q2 2023 - IPP Production Printing Ext v2.0 (Mike) - PWG Approved - https://ftp.pwg.org/pub/pwg/candidates/cs-ippppx20-20230131-5100.3.pdf - for a Candidate Standard - major update of PWG 5100.3-2001 - PWG Formal Vote started 3 January 2023 and ended 31 January 2023 - Schedule - PWG Candidate Standard 5100.3-2023 published - IPP Job Extensions v2.1 (Mike) - PWG Approved - https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobext21-20230210-5100.7.pdf - for a Candidate Standard - minor update of PWG 5100.7-2019 - PWG Call for Objections started 9 January 2023 ended 10 February 2023 - Schedule - PWG Candidate Standard 5100.7-2023 published - IPP Driver Replacement Extensions v2.0 (Smith) - PWG Approved - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippnodriver20-20230116.pdf - for a Candidate Standard - major update of PWG 5100.13-2012 - PWG Formal Vote started 1 February ended 1 March 2023 - two votes w/ comments - Schedule - PWG Candidate Standard 5100.13-2023 to be published shortly - IPP Enterprise Printing Ext v2.0 (Smith) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippepx20-20230208-rev.pdf - for a Candidate Standard - major update of PWG 5100.11-2019 - IPP WG review completed on 16 February 2022 - Schedule - Stable draft in Q2 2023 - IPP Encrypted Jobs and Documents (Mike/Smith) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrustnoone10-20210519-rev.pdf - for a Candidate Standard - PWG status at PWG Virtual F2F on 15 November 2022 - Waiting for prototyping - Schedule - Stable draft in Q2 2023 - IPP 2.x (Mike/Ira) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippbase23-20220809.pdf - major update of PWG 5100.12-2015 - PWG discussion at PWG Virtual F2F on 15 November 2022 - Schedule - Prototype draft in Q1/Q2 2022 - IPP Everywhere v2.0 (Mike/Ira) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve20-20221107-rev.pdf - major update - for a Candidate Standard - PWG discussion at PWG Virtual F2F on 15 November 2022 - Schedule - Stable draft in Q1/Q2 2023
- IETF 116 Hybrid F2F (Yokohama, Japan) - 27-31 March 2023 - Ira to attend - https://www.ietf.org/how/meetings/116/ - IEEE 1609 Virtual F2F - 28 March 2023 - Ira cannot attend - https://standards.ieee.org/develop/wg/1609.html - Uptane Supply Chain Virtual Workshop - 31 March 2023 - Ira to attend - https://uptane.github.io/ - ISO JTC1/SC27 and TC22/SC32 JWG6 Hybrid F2F (Redmond, WA) - 20-21 April 2023 - Ira to attend - https://www.iso.org/standard/81805.html - GP/SAE Hybrid F2F (Troy, MI) - 21 April 2023 - Ira to attend - https://globalplatform.org/ - ISO/SAE JWG Hybrid F2F (Troy, MI) - 24-27 April 2023 - Ira to attend - https://www.iso.org/standard/70918.html - ISO TC204 61st Plenary Hybrid F2F (San Antonio, USA) - 15-19 May 2023 - Ira to attend - https://www.iso.org/committee/54706.html - Joint PWG/Open Printing Summit Virtual F2F - 16-18 May 2023 - Ira/Till/Aveek to attend - https://www.pwg.org/chair/meeting-info/meetings.html - ESCAR USA Physical F2F (Detroit, MI) - 21-22 June 2023 - Ira to attend - https://www.escar.info/escar-usa.html - Uptane Hybrid F2F (Detroit, MI) – Ira to attend - https://uptane.github.io/ - IETF 117 Hybrid F2F (San Francisco, USA) 24-28 July 2023 – Ira to attend - https://www.ietf.org/how/meetings/117/
Open Action Items
Next OP US/Europe/Brazil/India Conference Calls
- Tuesday 7 March 2022, Daytime - Note - US Daylight Savings Time starts 12 March 2023 - Note - European Summer Time starts 26 March 2023 - Note - IETF 116 Hybrid F2F (Yokohama, Japan) - 27-31 March 2023 - Note - IEEE 1609 Virtual F2F - 28 March 2023 - US 8am in San Francisco - US PST (Pacific Standard Time) 9am in Colorado - US MST (Mountain Standard Time) 10am in Chicago - US CST (Central Standard Time) 11am in New York - US EST (Eastern Standard Time) - Europe 5pm in Berlin - CET (Central Europe Time) - Brazil 1pm in Belo Horizonte - BRT (Brasilia Time) - India 9:30pm in New Delhi - IST (India Standard Time)
- Tuesday 4 April 2022, Daytime - Note - ISO JTC1/SC27 and TC22/SC32 JWG6 Hybrid F2F (Redmond, WA) - 20-21 April 2023 - Note - GP/SAE Hybrid F2F (Troy, MI) - 21 April 2023 - Note - ISO/SAE JWG Hybrid F2F (Troy, MI) - 24-27 April 2023 - US 8am in San Francisco - US PDT (Pacific Daylight Time) 9am in Colorado - US MDT (Mountain Daylight Time) 10am in Chicago - US CDT (Central Daylight Time) 11am in New York - US EDT (Eastern Daylight Time) - Europe 5pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time)
- Tuesday 9 May 2022, Daytime - Note - ISO TC204 61st Plenary Hybrid F2F (San Antonio, USA) - 15-19 May 2023 - Note - Joint PWG/Open Printing Summit Virtual F2F - 16-18 May 2023 - US 8am in San Francisco - US PDT (Pacific Daylight Time) 9am in Colorado - US MDT (Mountain Daylight Time) 10am in Chicago - US CDT (Central Daylight Time) 11am in New York - US EDT (Eastern Daylight Time) - Europe 5pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time)