diff --git a/Makefile b/Makefile index 1b1495b..90d2a14 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,7 @@ install: $(DESTDIR)/usr/bin \ $(DESTDIR)/usr/sbin \ $(DESTDIR)/usr/lib/flatcar \ + $(DESTDIR)/usr/lib/sysupdate.d \ $(DESTDIR)/usr/lib/systemd/system \ $(DESTDIR)/usr/lib/systemd/network \ $(DESTDIR)/usr/lib/systemd/system-generators \ @@ -33,6 +34,7 @@ install: install -m 644 configs/modules-load.d/* $(DESTDIR)/usr/lib/modules-load.d/ install -m 644 configs/tmpfiles.d/* $(DESTDIR)/usr/lib/tmpfiles.d/ cp -a systemd/* $(DESTDIR)/usr/lib/systemd/ + cp -a sysupdate.d/* $(DESTDIR)/usr/lib/sysupdate.d/ chmod 755 $(DESTDIR)/usr/lib/systemd/system-generators/* ln -sf ../run/issue $(DESTDIR)/etc/issue ln -sfT flatcar $(DESTDIR)/usr/lib/coreos diff --git a/systemd/confext.conf b/systemd/confext.conf new file mode 100644 index 0000000..af3c8ac --- /dev/null +++ b/systemd/confext.conf @@ -0,0 +1,2 @@ +[ConfExt] +Mutable=auto diff --git a/systemd/system/ensure-sysext.service b/systemd/system/ensure-sysext.service deleted file mode 100644 index e35d7ac..0000000 --- a/systemd/system/ensure-sysext.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -BindsTo=systemd-sysext.service -After=systemd-sysext.service -DefaultDependencies=no -# Keep in sync with systemd-sysext.service -ConditionDirectoryNotEmpty=|/etc/extensions -ConditionDirectoryNotEmpty=|/run/extensions -ConditionDirectoryNotEmpty=|/var/lib/extensions -ConditionDirectoryNotEmpty=|/usr/local/lib/extensions -ConditionDirectoryNotEmpty=|/usr/lib/extensions -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/systemctl daemon-reload -ExecStart=/usr/bin/systemctl restart --no-block sockets.target timers.target multi-user.target -[Install] -WantedBy=sysinit.target diff --git a/systemd/system/sysinit.target.wants/ensure-sysext.service b/systemd/system/sysinit.target.wants/ensure-sysext.service deleted file mode 120000 index 8fe8067..0000000 --- a/systemd/system/sysinit.target.wants/ensure-sysext.service +++ /dev/null @@ -1 +0,0 @@ -../ensure-sysext.service \ No newline at end of file diff --git a/systemd/system/systemd-confext.service.d/prepare-mutable.conf b/systemd/system/systemd-confext.service.d/prepare-mutable.conf new file mode 100644 index 0000000..4177e1a --- /dev/null +++ b/systemd/system/systemd-confext.service.d/prepare-mutable.conf @@ -0,0 +1,3 @@ +[Service] +# Users having their own /var partition don't get this set up in the initrd +ExecStartPre=/bin/bash -c "mkdir -p /var/lib/extensions.mutable/ && if [ ! -L /var/lib/extensions.mutable/etc ] && [ ! -e /var/lib/extensions.mutable/etc ]; then ln -s /etc /var/lib/extensions.mutable/etc; fi" diff --git a/systemd/system/systemd-sysext.service.d/after-confext.conf b/systemd/system/systemd-sysext.service.d/after-confext.conf new file mode 100644 index 0000000..c0dea74 --- /dev/null +++ b/systemd/system/systemd-sysext.service.d/after-confext.conf @@ -0,0 +1,3 @@ +# Define an order to allow a confext to influence systemd-sysext +[Unit] +After=systemd-confext.service diff --git a/sysupdate.d/noop.transfer b/sysupdate.d/noop.transfer new file mode 100644 index 0000000..a591a2e --- /dev/null +++ b/sysupdate.d/noop.transfer @@ -0,0 +1,8 @@ +[Source] +Type=regular-file +Path=/ +MatchPattern=invalid@v.raw +[Target] +Type=regular-file +Path=/ +MatchPattern=invalid@v.raw