diff options
author | Phaedrus Leeds <matthew.leeds@endlessm.com> | 2020-09-11 11:48:21 -0700 |
---|---|---|
committer | Phaedrus Leeds <matthew.leeds@endlessm.com> | 2020-09-11 12:06:29 -0700 |
commit | 82d37ba3a4d7aa7bfcf158d648ea841f2e480e2e (patch) | |
tree | 2c884b4cd65d01c83b15fc8f11a907340aaea3af | |
parent | bf6f4cebf5a1491c8434400eb09e6eabbe691110 (diff) | |
download | flatpak-fix-sideload-repos-dir.tar.gz |
sideload-repos-systemd: Use systemd-tmpfilesfix-sideload-repos-dir
Instead of using a systemd service to create the directory we need for
sideloading (/run/flatpak/sideload-repos), use a systemd-tmpfiles conf
file. This is more elegant, and the service also had a bug which meant
it would create a "/run/flatpak;" directory instead of the one intended.
Since systemd-tmpfiles-setup.service runs before sysinit.target and path
units are run after sysinit.target, the tmp directory should be in place
when flatpak-sideload-usb-repo.path runs in the systemd user instance.
Endless OS already has a file at /lib/tmpfiles.d/flatpak.conf, so we
can't use that filename.
-rw-r--r-- | sideload-repos-systemd/Makefile.am.inc | 8 | ||||
-rw-r--r-- | sideload-repos-systemd/flatpak-sideload-repos-dir.service | 15 | ||||
-rw-r--r-- | sideload-repos-systemd/tmpfiles.d/flatpak-sideload-repos.conf | 1 |
3 files changed, 6 insertions, 18 deletions
diff --git a/sideload-repos-systemd/Makefile.am.inc b/sideload-repos-systemd/Makefile.am.inc index 87cf725e..b1bbc385 100644 --- a/sideload-repos-systemd/Makefile.am.inc +++ b/sideload-repos-systemd/Makefile.am.inc @@ -8,11 +8,13 @@ systemduserunit_DATA += sideload-repos-systemd/flatpak-sideload-usb-repo.service path_in_files = sideload-repos-systemd/flatpak-sideload-usb-repo.path.in systemduserunit_DATA += sideload-repos-systemd/flatpak-sideload-usb-repo.path -systemdsystemunit_DATA += sideload-repos-systemd/flatpak-sideload-repos-dir.service - %.path: %.path.in config.log $(AM_V_GEN) $(SED) -e "s|\@media_dir\@|$(RUN_MEDIA_DIR)|" $< > $@ +tmpfilesdir = $(prefix)/lib/tmpfiles.d +dist_tmpfiles_DATA = sideload-repos-systemd/tmpfiles.d/flatpak-sideload-repos.conf + endif -EXTRA_DIST += sideload-repos-systemd/flatpak-sideload-usb-repo.path.in sideload-repos-systemd/flatpak-sideload-usb-repo.service.in sideload-repos-systemd/flatpak-sideload-repos-dir.service +EXTRA_DIST += sideload-repos-systemd/flatpak-sideload-usb-repo.path.in sideload-repos-systemd/flatpak-sideload-usb-repo.service.in + diff --git a/sideload-repos-systemd/flatpak-sideload-repos-dir.service b/sideload-repos-systemd/flatpak-sideload-repos-dir.service deleted file mode 100644 index cca23b01..00000000 --- a/sideload-repos-systemd/flatpak-sideload-repos-dir.service +++ /dev/null @@ -1,15 +0,0 @@ -# This unit is intended to be installed in the systemd system instance, so that -# flatpak-sideload-usb-repo.{path,service} can work in the user instance -[Service] -Type=oneshot -ExecStart=/bin/mkdir -p /run/flatpak; /bin/mkdir -p -m 777 /run/flatpak/sideload-repos - -[Unit] -# Use basic.target to guarantee we run before flatpak-sideload-usb-repos.path -# in the user systemd instance -Before=basic.target -After=sysinit.target -DefaultDependencies=no - -[Install] -WantedBy=basic.target diff --git a/sideload-repos-systemd/tmpfiles.d/flatpak-sideload-repos.conf b/sideload-repos-systemd/tmpfiles.d/flatpak-sideload-repos.conf new file mode 100644 index 00000000..fa73dd8d --- /dev/null +++ b/sideload-repos-systemd/tmpfiles.d/flatpak-sideload-repos.conf @@ -0,0 +1 @@ +D /run/flatpak/sideload-repos 0777 - - - |