Hi everyone, below you will find the updates from the Desktop team from the last week. If you’re interested in discussing a topic please start a thread in the Desktop area of Discourse.
We also have our weekly meeting on IRC. We meet on Tuesday at 13:30 UTC in #ubuntu-desktop on Freenode. There will be an “Any Other Business” section at the end where you are welcome to raise topics. These topics might be discussed during the meeting, or afterwards depending on the time, depth of conversation, topic and so on.
Snapcraft/CUPS Snap: Got an answer from @jdstrand on my tests with the test packages he provided me two weeks ago, he also told that interfaces for “Snap Mediation” need to get implemented in snapd (this means for example telling whether a client is a Snap and which interfaces it plugs to). snapd is already capable of this but there is no interface yet through which this can be done safely without getting to much access to snapd. @jdstrand promised that he will post a pull request for the needed changes on the CUPS Snap this week. Also fixed a bug in resolving DNS-SD-service-name-based printer URIs.
cups-filters: Added also a function to convert IPP attributes which accompany a job to the corresponding PPD options, ripped out of the ippeveps utility from CUPS. Also did some further investigations about which other PPD handling functions need to be taken from CUPS, like PPD defaults setting of lpadmin? cups-driverd? … Closed 6 issues with the help of students working on them as assignments in the selection process for the Linux Foundation Mentorship Program.
Printer Applications: Video meeting with the snapcraft team about printer and scanner drivers, how to snap them as Printer/Scanner Applications and how to possibly improve snapcraft to make this easier. I wrote a longer e-mail to describe the situation to everyone involved: Michael Sweet as upstream author of PAPPL, the snapcraft guys, the GSoC students, … to initiate the discussion of what is needed.
ipp-usb, sane-airscan: Worked on getting the new software for driverless printing and scanning into Debian, by creating/commenting on packaging requests: ipp-usb, sane-airscan Both got packaged by Didier “OdyX” Raboud, printing package maintainer of Debian, and are in the NEW queue now. I will sync them as soon as they got accepted.
Google Summer of Code 2020: Continued mentoring work, answered student’s questions, explained them what is needed, …
Linux Foundation Mentorship Program: Mentored the student candidates on doing their assignments (working on cups-filters bugs).
99 merge requests later… We have an alpha release of Flutter for desktop Linux! I’ve been mostly working on the Linux runner implementation and the plugins.
This week:
Drafted a blog post explaining some of the details of how the Flutter Linux runner works.
No new progress on this feature this week. snapd PR #8861 still needs the second review, and snapd PR #8943 is still in draft state waiting for the first to land.
The main difficulty is authentication: the snapd folks do not want this API to require snapd-control, but it should not be available to all snaps. Those are the only two options presently, so we need to extend the access control code.
The current plan is to reuse the snapd-snap.socket socket and $SNAP_COOKIE environment variable used by snapctl, and check if the snap is has the appropriate interface plugged.
As the existing Command.canAccess method is fairly long and twisty, I think the best way forward is to split it into smaller checks that can be composed together. Something like this will be needed to allow polkit checks on requests coming from the snapd-snap.socket connection.
Running a graphical display manager on Ubuntu Core
I’ve been attempting to get GDM up and running on an Ubuntu Core system. The initial plan has been to try and shove GDM into the base snap used to boot the system. This probably isn’t the final form things should look like, but should help us get closer.
First road block was that stage-snaps does not currently work for core20 projects. I put together snapcraft PR #3211, but things still don’t quite seem to be working correctly.