fwupd/contrib/snap
Elvis Stansvik efc2e47e48 Start fwupd-activate.service after snapd.service
Instead of using RequiresMountsFor=/snap/fwupd/current, which will not
work since /snap/fwupd/current is a symlink [1].

This will work since the mount units generated by snapd all have
Before=snapd.service, so will be stopped after snapd.service during
shutdown.

With After=snapd.service, fwupd-activate.service will then stop before
snapd.service, at a point when all snap mount units are still running.

Fixes the issue where fwupd-activate.service hangs when stopped, causing
a stop job timeout during shutdown.

[1] See https://github.com/systemd/systemd/issues/8907

Closes #1654
2020-03-15 09:06:21 -05:00
..
activate-shutdown Start fwupd-activate.service after snapd.service 2020-03-15 09:06:21 -05:00
fix-bash-completion trivial: snap: Correct bash completion path 2018-09-10 13:21:29 -05:00
fwup-efi-signed snap: Move fwupd to / rather than /usr 2018-09-08 08:34:36 -05:00
libefivar-fixpkgconfig trivial: snap: adjust efivar prefixes to be same on all archs 2018-09-09 23:09:21 -05:00
update-mime trivial: snap: Update the mime information 2018-06-06 17:37:37 -05:00
dfu-tool.wrapper snap: Move fwupd to / rather than /usr 2018-09-08 08:34:36 -05:00
fwupd-command trivial: snap: fix TLS communications in classic snap 2018-09-10 21:05:06 -05:00
fwupd.wrapper snap: Move fwupd to / rather than /usr 2018-09-08 08:34:36 -05:00
fwupdmgr.wrapper snap: Move fwupd to / rather than /usr 2018-09-08 08:34:36 -05:00
fwupdtool.wrapper Move fwupdtool and fwupdagent into bindir 2020-02-20 09:02:11 -06:00
README.md trivial: snap: Add a README 2018-06-04 12:01:27 -05:00
snapcraft-master.yaml snap: Add a custom systemd unit to call activation on shutdown (Fixes: #1125) 2019-04-02 07:10:56 -05:00

Snap support

Snaps are containerised software packages that are simple to create and install. They auto-update and are safe to run. And because they bundle their dependencies, they work on all major Linux systems without modification.

stable vs unstable

Two yaml files are distributed:

  • snapcraft.yaml This uses tarball releases for all dependencies and what is currently in tree for fwupd.

  • snapcraft-master.yaml This uses git for most dependencies and may be considered unstable.

Building

Builds can be performed using snapcraft:

# snapcraft cleanbuild

Installing

A "classic" snap is produced, and locally built snaps can be installed like this:

# snap install fwupd_daily_amd64.snap --dangerous --classic

The --dangerous flag is because snaps built locally are not signed. Snaps distributed by a store will not need this flag.