From: Stéphane Graber Date: Mon, 30 May 2022 22:29:52 +0000 (-0400) Subject: meson: Add init scripts X-Git-Tag: lxc-5.0.0~12^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8131bb44ecbdece9730b3d76c21494c3cecc3533;p=thirdparty%2Flxc.git meson: Add init scripts Signed-off-by: Stéphane Graber --- diff --git a/config/init/systemd/meson.build b/config/init/systemd/meson.build index 6904badf9..21e756504 100644 --- a/config/init/systemd/meson.build +++ b/config/init/systemd/meson.build @@ -6,3 +6,36 @@ lxc_apparmor_load = configure_file( output: 'lxc-apparmor-load', install: true, install_dir: lxclibexec) + +if 'systemd' in init_script + systemd = dependency('systemd') + systemd_system_unit_dir = systemd.get_variable('systemdsystemunitdir') + + configure_file( + configuration: conf, + input: 'lxc-monitord.service.in', + output: 'lxc-monitord.service', + install: true, + install_dir: systemd_system_unit_dir) + + configure_file( + configuration: conf, + input: 'lxc-net.service.in', + output: 'lxc-net.service', + install: true, + install_dir: systemd_system_unit_dir) + + configure_file( + configuration: conf, + input: 'lxc.service.in', + output: 'lxc.service', + install: true, + install_dir: systemd_system_unit_dir) + + configure_file( + configuration: conf, + input: 'lxc@.service.in', + output: 'lxc@.service', + install: true, + install_dir: systemd_system_unit_dir) +endif diff --git a/config/init/sysvinit/meson.build b/config/init/sysvinit/meson.build new file mode 100644 index 000000000..91a45dd82 --- /dev/null +++ b/config/init/sysvinit/meson.build @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +if 'sysvinit' in init_script + configure_file( + configuration: conf, + input: 'lxc-containers.in', + output: 'lxc-containers', + install: true, + install_dir: join_paths(sysconfdir, 'init.d')) + + configure_file( + configuration: conf, + input: 'lxc-net.in', + output: 'lxc-net', + install: true, + install_dir: join_paths(sysconfdir, 'init.d')) +endif diff --git a/config/init/upstart/meson.build b/config/init/upstart/meson.build new file mode 100644 index 000000000..b0afc0b21 --- /dev/null +++ b/config/init/upstart/meson.build @@ -0,0 +1,24 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +if 'upstart' in init_script + configure_file( + configuration: conf, + input: 'lxc.conf.in', + output: 'lxc.conf', + install: true, + install_dir: join_paths(sysconfdir, 'init')) + + configure_file( + configuration: conf, + input: 'lxc-instance.conf', + output: 'lxc-instance.conf', + install: true, + install_dir: join_paths(sysconfdir, 'init')) + + configure_file( + configuration: conf, + input: 'lxc-net.conf.in', + output: 'lxc-net.conf', + install: true, + install_dir: join_paths(sysconfdir, 'init')) +endif diff --git a/meson.build b/meson.build index 1fce9d6f0..9be644f76 100644 --- a/meson.build +++ b/meson.build @@ -117,6 +117,7 @@ conf.set_quoted('LXC_USERNIC_DB', lxc_user_network_db) # Custom configuration. cgrouppattern = get_option('cgroup-pattern') +init_script = get_option('init-script') want_examples = get_option('examples') want_io_uring = get_option('io-uring-event-loop') want_pam_cgroup = get_option('pam-cgroup') @@ -621,6 +622,8 @@ subdir('config/bash') subdir('config/etc') subdir('config/init/common') subdir('config/init/systemd') +subdir('config/init/sysvinit') +subdir('config/init/upstart') subdir('config/selinux') subdir('config/templates') subdir('config/templates/common.conf.d') diff --git a/meson_options.txt b/meson_options.txt index cb466bd36..6459cb7f9 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -7,9 +7,9 @@ option('cgroup-pattern', type: 'string', value: '', option('examples', type: 'boolean', value: 'true', description: 'build and install examples') -option('init-script', type: 'combo', - choices: ['systemd', 'sysvinit', 'openrc', 'upstart'], value: 'systemd', - description: 'init script') +option('init-script', type : 'array', + choices : ['systemd', 'sysvinit', 'upstart'], value : ['systemd'], + description : 'init script') option('io-uring-event-loop', type: 'boolean', value: 'false', description: 'Enable io-uring based event loop')