| From f9974d7dc289551bfbf823b716fd32b43c54e465 Mon Sep 17 00:00:00 2001 |
| From: Chen Qi <Qi.Chen@windriver.com> |
| Date: Thu, 21 Feb 2019 16:23:24 +0800 |
| Subject: [PATCH] binfmt: Don't install dependency links at install time for |
| the binfmt services |
| |
| use [Install] blocks so that they get created when the service is enabled |
| like a traditional service. |
| |
| The [Install] blocks were rejected upstream as they don't have a way to |
| "enable" it on install without static symlinks which can't be disabled, |
| only masked. We however can do that in a postinst. |
| |
| Upstream-Status: Denied |
| |
| Signed-off-by: Ross Burton <ross.burton@intel.com> |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
| [rebased for systemd 243] |
| Signed-off-by: Scott Murray <scott.murray@konsulko.com> |
| |
| --- |
| units/meson.build | 6 ++---- |
| units/proc-sys-fs-binfmt_misc.automount | 3 +++ |
| units/systemd-binfmt.service.in | 4 ++++ |
| 3 files changed, 9 insertions(+), 4 deletions(-) |
| |
| diff --git a/units/meson.build b/units/meson.build |
| index a9bf28f6d9..11d3644168 100644 |
| --- a/units/meson.build |
| +++ b/units/meson.build |
| @@ -62,8 +62,7 @@ units = [ |
| ['poweroff.target', '', |
| (with_runlevels ? 'runlevel0.target' : '')], |
| ['printer.target', ''], |
| - ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT', |
| - 'sysinit.target.wants/'], |
| + ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT'], |
| ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'], |
| ['reboot.target', '', |
| 'ctrl-alt-del.target' + (with_runlevels ? ' runlevel6.target' : '')], |
| @@ -186,8 +185,7 @@ in_units = [ |
| ['rescue.service', ''], |
| ['serial-getty@.service', ''], |
| ['systemd-backlight@.service', 'ENABLE_BACKLIGHT'], |
| - ['systemd-binfmt.service', 'ENABLE_BINFMT', |
| - 'sysinit.target.wants/'], |
| + ['systemd-binfmt.service', 'ENABLE_BINFMT'], |
| ['systemd-bless-boot.service', 'HAVE_GNU_EFI HAVE_BLKID'], |
| ['systemd-boot-check-no-failures.service', ''], |
| ['systemd-coredump@.service', 'ENABLE_COREDUMP'], |
| diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount |
| index 172c8757ab..f65d8930c6 100644 |
| --- a/units/proc-sys-fs-binfmt_misc.automount |
| +++ b/units/proc-sys-fs-binfmt_misc.automount |
| @@ -19,3 +19,6 @@ ConditionPathIsReadWrite=/proc/sys/ |
| |
| [Automount] |
| Where=/proc/sys/fs/binfmt_misc |
| + |
| +[Install] |
| +WantedBy=sysinit.target |
| diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in |
| index 96f595ad72..7c010bb224 100644 |
| --- a/units/systemd-binfmt.service.in |
| +++ b/units/systemd-binfmt.service.in |
| @@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html |
| Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems |
| DefaultDependencies=no |
| Conflicts=shutdown.target |
| +Wants=proc-sys-fs-binfmt_misc.automount |
| After=proc-sys-fs-binfmt_misc.automount |
| After=proc-sys-fs-binfmt_misc.mount |
| After=local-fs.target |
| @@ -31,3 +32,6 @@ RemainAfterExit=yes |
| ExecStart={{ROOTLIBEXECDIR}}/systemd-binfmt |
| ExecStop={{ROOTLIBEXECDIR}}/systemd-binfmt --unregister |
| TimeoutSec=90s |
| + |
| +[Install] |
| +WantedBy=sysinit.target |