Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 1 | From c93eb6cdec03f5e243e59e95dc49273fcb90e7c1 Mon Sep 17 00:00:00 2001 |
| 2 | From: Chen Qi <Qi.Chen@windriver.com> |
| 3 | Date: Fri, 23 Feb 2018 10:23:40 +0800 |
| 4 | Subject: [PATCH 02/31] binfmt: Don't install dependency links at install time |
| 5 | for the binfmt services |
| 6 | |
| 7 | use [Install] blocks so that they get created when the service is enabled |
| 8 | like a traditional service. |
| 9 | |
| 10 | The [Install] blocks were rejected upstream as they don't have a way to |
| 11 | "enable" it on install without static symlinks which can't be disabled, |
| 12 | only masked. We however can do that in a postinst. |
| 13 | |
| 14 | Upstream-Status: Denied |
| 15 | |
| 16 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 18 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
| 19 | --- |
| 20 | units/meson.build | 6 ++---- |
| 21 | units/proc-sys-fs-binfmt_misc.automount | 3 +++ |
| 22 | units/systemd-binfmt.service.in | 4 ++++ |
| 23 | 3 files changed, 9 insertions(+), 4 deletions(-) |
| 24 | |
| 25 | diff --git a/units/meson.build b/units/meson.build |
| 26 | index 814ee7885..49ace0d0f 100644 |
| 27 | --- a/units/meson.build |
| 28 | +++ b/units/meson.build |
| 29 | @@ -60,8 +60,7 @@ units = [ |
| 30 | ['poweroff.target', '', |
| 31 | 'runlevel0.target'], |
| 32 | ['printer.target', ''], |
| 33 | - ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT', |
| 34 | - 'sysinit.target.wants/'], |
| 35 | + ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT'], |
| 36 | ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'], |
| 37 | ['reboot.target', '', |
| 38 | 'runlevel6.target ctrl-alt-del.target'], |
| 39 | @@ -144,8 +143,7 @@ in_units = [ |
| 40 | ['systemd-ask-password-console.service', ''], |
| 41 | ['systemd-ask-password-wall.service', ''], |
| 42 | ['systemd-backlight@.service', 'ENABLE_BACKLIGHT'], |
| 43 | - ['systemd-binfmt.service', 'ENABLE_BINFMT', |
| 44 | - 'sysinit.target.wants/'], |
| 45 | + ['systemd-binfmt.service', 'ENABLE_BINFMT'], |
| 46 | ['systemd-coredump@.service', 'ENABLE_COREDUMP'], |
| 47 | ['systemd-exit.service', ''], |
| 48 | ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT', |
| 49 | diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount |
| 50 | index 30a6bc991..4231f3b70 100644 |
| 51 | --- a/units/proc-sys-fs-binfmt_misc.automount |
| 52 | +++ b/units/proc-sys-fs-binfmt_misc.automount |
| 53 | @@ -18,3 +18,6 @@ ConditionPathIsReadWrite=/proc/sys/ |
| 54 | |
| 55 | [Automount] |
| 56 | Where=/proc/sys/fs/binfmt_misc |
| 57 | + |
| 58 | +[Install] |
| 59 | +WantedBy=sysinit.target |
| 60 | diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in |
| 61 | index df9396d89..0687f4648 100644 |
| 62 | --- a/units/systemd-binfmt.service.in |
| 63 | +++ b/units/systemd-binfmt.service.in |
| 64 | @@ -13,6 +13,7 @@ Documentation=man:systemd-binfmt.service(8) man:binfmt.d(5) |
| 65 | Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt |
| 66 | DefaultDependencies=no |
| 67 | Conflicts=shutdown.target |
| 68 | +Wants=proc-sys-fs-binfmt_misc.automount |
| 69 | After=proc-sys-fs-binfmt_misc.automount |
| 70 | Before=sysinit.target shutdown.target |
| 71 | ConditionPathIsReadWrite=/proc/sys/ |
| 72 | @@ -27,3 +28,6 @@ Type=oneshot |
| 73 | RemainAfterExit=yes |
| 74 | ExecStart=@rootlibexecdir@/systemd-binfmt |
| 75 | TimeoutSec=90s |
| 76 | + |
| 77 | +[Install] |
| 78 | +WantedBy=sysinit.target |
| 79 | -- |
| 80 | 2.13.0 |
| 81 | |