Nov 7 – 9, 2022
Prague, Czech Republic
Europe/Prague timezone

Daemon Snapper's Workshop - How to make Snaps from System Daemons and Utilities

Nov 9, 2022, 11:30 AM
1h 30m
Palmovka 1 (Hilton Prague)

Palmovka 1

Hilton Prague

Workshop Application Ecosystem


Sergio Cazzolato
Till Kamppeter


For everyone who has missed it and wants to do it at home:
- Links to the slides below.
- Links to the examples/exercises: Start, Finished

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
  • How to define ordering of daemons
  • Setup of timers
  • ...

Needed knowledge: Basic snapping skills, or having attended one of the basic workshops, either "Snapping like Hell(sworth)" or "ROS Deployment Workshop", of the Snap tutorial series.

Session author bios

Tiill Kamppeter is the leader of the OpenPrinting project 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, tutorials) 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".

Sergio Cazzolato is the QA Engineer for Snapd team at Canonical Ltd. He is responsible for the test infrastructure and automation harness used in the Snapd and Ubuntu Core projects since 2017. Previously he worked as a testing engineer for the Ubuntu phone project and for several years as Testing Team Leader in Intel Corporation.

Level of Difficulty Intermediate

Presentation materials