From cdf7ad38b652613ed91775b859aa6453590b7ea2 Mon Sep 17 00:00:00 2001 From: Norbert Lange Date: Wed, 8 Apr 2020 23:59:13 +0200 Subject: [PATCH] allow removal of initrd services --- meson.build | 8 +++++++- meson_options.txt | 2 ++ units/meson.build | 20 ++++++++++---------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/meson.build b/meson.build index e9eb7f9569..121148f8dd 100644 --- a/meson.build +++ b/meson.build @@ -90,6 +90,10 @@ sysvrcnd_path = get_option('sysvrcnd-path') conf.set10('HAVE_SYSV_COMPAT', sysvinit_path != '' and sysvrcnd_path != '', description : 'SysV init scripts and rcN.d links are supported') +if get_option('hibernate') and not get_option('initrd') + error('hibernate depends on initrd') +endif + conf.set10('BUMP_PROC_SYS_FS_FILE_MAX', get_option('bump-proc-sys-fs-file-max')) conf.set10('BUMP_PROC_SYS_FS_NR_OPEN', get_option('bump-proc-sys-fs-nr-open')) conf.set('HIGH_RLIMIT_NOFILE', 512*1024) @@ -1419,6 +1423,7 @@ foreach term : ['utmp', 'smack', 'gshadow', 'idn', + 'initrd', 'nss-myhostname', 'nss-systemd'] have = get_option(term) @@ -2766,7 +2771,7 @@ executable( include_directories : includes, link_with : [libshared], install_rpath : rootlibexecdir, - install : true, + install : conf.get('ENABLE_INITRD') == 1, install_dir : rootlibexecdir) executable( @@ -3539,6 +3544,7 @@ foreach tuple : [ ['openssl'], ['libcurl'], ['idn'], + ['initrd'], ['libidn2'], ['libidn'], ['libiptc'], diff --git a/meson_options.txt b/meson_options.txt index 0229179c99..e9fff1660c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -35,6 +35,8 @@ option('telinit-path', type : 'string', value : '/lib/sysvinit/telinit', description : 'path to telinit') option('rc-local', type : 'string', value : '/etc/rc.local') +option('initrd', type: 'boolean', + description : 'install services for use when running systemd in initrd') option('quotaon-path', type : 'string', description : 'path to quotaon') option('quotacheck-path', type : 'string', description : 'path to quotacheck') diff --git a/units/meson.build b/units/meson.build index ba3abc29ea..a0677196de 100644 --- a/units/meson.build +++ b/units/meson.build @@ -24,15 +24,15 @@ units = [ ['hibernate.target', 'ENABLE_HIBERNATE'], ['hybrid-sleep.target', 'ENABLE_HIBERNATE'], ['suspend-then-hibernate.target', 'ENABLE_HIBERNATE'], - ['initrd-cleanup.service', ''], - ['initrd-fs.target', ''], - ['initrd-parse-etc.service', ''], - ['initrd-root-device.target', ''], - ['initrd-root-fs.target', ''], - ['initrd-switch-root.service', ''], - ['initrd-switch-root.target', ''], - ['initrd-udevadm-cleanup-db.service', ''], - ['initrd.target', ''], + ['initrd-cleanup.service', 'ENABLE_INITRD'], + ['initrd-fs.target', 'ENABLE_INITRD'], + ['initrd-parse-etc.service', 'ENABLE_INITRD'], + ['initrd-root-device.target', 'ENABLE_INITRD'], + ['initrd-root-fs.target', 'ENABLE_INITRD'], + ['initrd-switch-root.service', 'ENABLE_INITRD'], + ['initrd-switch-root.target', 'ENABLE_INITRD'], + ['initrd-udevadm-cleanup-db.service', 'ENABLE_INITRD'], + ['initrd.target', 'ENABLE_INITRD'], ['kexec.target', ''], ['ldconfig.service', 'ENABLE_LDCONFIG', 'sysinit.target.wants/'], @@ -225,7 +225,7 @@ in_units = [ ['systemd-user-sessions.service', 'HAVE_PAM', 'multi-user.target.wants/'], ['systemd-vconsole-setup.service', 'ENABLE_VCONSOLE'], - ['systemd-volatile-root.service', ''], + ['systemd-volatile-root.service', 'ENABLE_INITRD'], ['systemd-repart.service', 'ENABLE_REPART', 'sysinit.target.wants/ initrd-root-fs.target.wants/'], ['user-runtime-dir@.service', ''],