Speaker
Description
A big advantage of Snap compared to other systems for distribution-independent/sandboxed/containerized packaging of applications is that one cannot only package user applications but also system daemons and utilities.
This does not only give us all the known advantages of distributing software as Snaps also for this kind of applications but also allows things like all-Snap Linux distributions or an easy and safe way for hardware manufacturers to make Linux drivers available.
In the Snap Store we see already several of such Snaps: CUPS, Network Manager, ipp-usb, Docker, LXD, avahi-daemon, Printer Applications, ... Simply search for "daemon", "Canonical", or "OpenPrinting".
In this workshop Till Kamppeter, leader of the OpenPrinting project and with this experienced daemon snapper (CUPS, ipp-usb, Printer Applications), will show how to make Snaps of system software, especially:
- Daemons
- System users and groups
- Workaround for UDEV rules
- Patching the upstream code
- 2 daemons in 1 Snap
- ...
Needed knowledge: Basic snapping skills, or having attended the first unit, "Your app everywhere - Just in a Snap!", on this conference.
Biography
Till is leader of OpenPrinting since it was founded in 2001, introduced the CUPS printing system in Mandrake Linux in 2000 working at MandrakeSoft and with this and a lot of evangelism (booths, talks, workshops) made the other distros also switch to CUPS, since 2006 printing maintainer at Canonical, co-organizing annual meetings with the Printer Working Group (PWG), since 2008 every year mentoring in Google Summer of Code, doing everything to make printing on Linux and alike operating systems "just work". With his OpenPrinting work Till has many years of experience with presenting on conferences and participating in their organization. Till is also fellow of the Linux Foundation.
Summary
This is all about the special feature of Snap to also support daemons and system apps. Attendees learn in hands-on exercises how to package these as Snaps.
Especially we treat handling files, source patches, daemons dependent on other daemons, UDEV, ...
Things to know or prepare for this session
What you need to know
* Basic knowledge about compiling/installing programs under Linux
* Basic knowledge about packaging applications as Snaps (the knowledge of the first workshop, "Your app everywhere - Just in a Snap!".
What you need to prepare
This is an interactive workshop where you will do hands-on exercises. As our time is limited, it is important that you have already installed the needed software tools beforehand.
You need to be able to run snapcraft
on your laptop, ideally you have Ubuntu 22.04 or later installed, can be also in a virtual machine.
If you are also attending the first workshop, or if you have already otherwise experience with snapping, you should already have this prepared.
What audience can learn
Everyone who knows the basics of snapping will learn here how they can also snap daemons and system applications.
In the workshop we have a simple example daemon and treat the following steps with it as interactive exercises:
- Tell that our app is a daemon
- Daemon control, start, stop, reload, wrapper scripts ...
- Handling of system users and groups
- Workaround for UDEV rules
- Patching the upstream code
- 2 daemons in 1 Snap
- Daemon dependencies, start them in the correct order
- And more ...
Difficulty level | Intermediate |
---|