summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2020-11-12 08:01:39 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-11-12 11:21:46 +0100
commitd7aa78c32f076c305ceeb183fc06eb1de0960deb (patch)
treed7d262549dff0b1e195b1367616995241370d821 /src
parentfaa73d4e0c8095fedd98ff29851b9634810ff97e (diff)
downloadsystemd-d7aa78c32f076c305ceeb183fc06eb1de0960deb.tar.gz
meson: add option to skip installing to $sysconfdir
This is useful for development where overwriting files out side the configured prefix will affect the host as well as stateless systems such as NixOS that don't let packages install to /etc but handle configuration on their own. Alternative to https://github.com/systemd/systemd/pull/17501 tested with: $ mkdir inst build && cd build $ meson \ -Dcreate-log-dirs=false \ -Dsysvrcnd-path=$(realpath ../inst)/etc/rc.d \ -Dsysvinit-path=$(realpath ../inst)/etc/init.d \ -Drootprefix=$(realpath ../inst) \ -Dinstall-sysconfdir=false \ --prefix=$(realpath ../inst) .. $ ninja install
Diffstat (limited to 'src')
-rw-r--r--src/core/meson.build20
-rw-r--r--src/coredump/meson.build2
-rw-r--r--src/home/meson.build6
-rw-r--r--src/journal-remote/meson.build12
-rw-r--r--src/journal/meson.build6
-rw-r--r--src/kernel-install/meson.build23
-rw-r--r--src/login/meson.build6
-rw-r--r--src/network/meson.build6
-rw-r--r--src/oom/meson.build6
-rw-r--r--src/pstore/meson.build2
-rw-r--r--src/resolve/meson.build6
-rw-r--r--src/timesync/meson.build6
-rw-r--r--src/udev/meson.build12
13 files changed, 71 insertions, 42 deletions
diff --git a/src/core/meson.build b/src/core/meson.build
index 552590393d..77767eb603 100644
--- a/src/core/meson.build
+++ b/src/core/meson.build
@@ -192,12 +192,14 @@ in_files = [['macros.systemd', rpmmacrosdir],
foreach item : in_files
file = item[0]
dir = item[1]
+ if install_sysconfdir or dir != pkgsysconfdir
+ configure_file(
+ input : file + '.in',
+ output : file,
+ configuration : substs,
+ install_dir : dir == 'no' ? '' : dir)
+ endif
- configure_file(
- input : file + '.in',
- output : file,
- configuration : substs,
- install_dir : dir == 'no' ? '' : dir)
endforeach
install_data('org.freedesktop.systemd1.conf',
@@ -217,6 +219,8 @@ meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir))
meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir))
meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir))
-meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system')))
-meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user')))
-meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd')))
+if install_sysconfdir
+ meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system')))
+ meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user')))
+ meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd')))
+endif
diff --git a/src/coredump/meson.build b/src/coredump/meson.build
index 663c6c7a07..ebd99bd379 100644
--- a/src/coredump/meson.build
+++ b/src/coredump/meson.build
@@ -13,7 +13,7 @@ endif
coredumpctl_sources = files('coredumpctl.c')
-if conf.get('ENABLE_COREDUMP') == 1
+if conf.get('ENABLE_COREDUMP') == 1 and install_sysconfdir
install_data('coredump.conf',
install_dir : pkgsysconfdir)
endif
diff --git a/src/home/meson.build b/src/home/meson.build
index 7847449c43..e3cc1a9fb5 100644
--- a/src/home/meson.build
+++ b/src/home/meson.build
@@ -107,8 +107,10 @@ if conf.get('ENABLE_HOMED') == 1
install_data('org.freedesktop.home1.policy',
install_dir : polkitpolicydir)
- install_data('homed.conf',
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data('homed.conf',
+ install_dir : sysconfdir)
+ endif
endif
tests += [
diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build
index 66cbcc69df..4572f4bd1c 100644
--- a/src/journal-remote/meson.build
+++ b/src/journal-remote/meson.build
@@ -48,8 +48,10 @@ if conf.get('ENABLE_REMOTE') ==1 and conf.get('HAVE_LIBCURL') == 1
input : 'journal-upload.conf.in',
output : 'journal-upload.conf',
configuration : substs)
- install_data(journal_upload_conf,
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data(journal_upload_conf,
+ install_dir : pkgsysconfdir)
+ endif
endif
if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
@@ -57,8 +59,10 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
input : 'journal-remote.conf.in',
output : 'journal-remote.conf',
configuration : substs)
- install_data(journal_remote_conf,
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data(journal_remote_conf,
+ install_dir : pkgsysconfdir)
+ endif
install_data('browse.html',
install_dir : join_paths(pkgdatadir, 'gatewayd'))
diff --git a/src/journal/meson.build b/src/journal/meson.build
index 520e33c0b8..7aea28d129 100644
--- a/src/journal/meson.build
+++ b/src/journal/meson.build
@@ -107,8 +107,10 @@ journalctl_sources = files('''
pcre2-dlopen.h
'''.split())
-install_data('journald.conf',
- install_dir : pkgsysconfdir)
+if install_sysconfdir
+ install_data('journald.conf',
+ install_dir : pkgsysconfdir)
+endif
if get_option('create-log-dirs')
meson.add_install_script(
diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build
index 851e827590..4117188f14 100644
--- a/src/kernel-install/meson.build
+++ b/src/kernel-install/meson.build
@@ -3,16 +3,19 @@
want_kernel_install = get_option('kernel-install')
if want_kernel_install
- install_data('kernel-install',
- install_mode : 'rwxr-xr-x',
- install_dir : bindir)
+ install_data('kernel-install',
+ install_mode : 'rwxr-xr-x',
+ install_dir : bindir)
- install_data('00-entry-directory.install',
- '50-depmod.install',
- '90-loaderentry.install',
- install_mode : 'rwxr-xr-x',
- install_dir : kernelinstalldir)
+ install_data('00-entry-directory.install',
+ '50-depmod.install',
+ '90-loaderentry.install',
+ install_mode : 'rwxr-xr-x',
+ install_dir : kernelinstalldir)
+
+ if install_sysconfdir
+ meson.add_install_script('sh', '-c',
+ mkdir_p.format(join_paths(sysconfdir, 'kernel/install.d')))
+ endif
- meson.add_install_script('sh', '-c',
- mkdir_p.format(join_paths(sysconfdir, 'kernel/install.d')))
endif
diff --git a/src/login/meson.build b/src/login/meson.build
index fd3202cd98..e09610960b 100644
--- a/src/login/meson.build
+++ b/src/login/meson.build
@@ -74,8 +74,10 @@ if conf.get('ENABLE_LOGIND') == 1
input : 'logind.conf.in',
output : 'logind.conf',
configuration : substs)
- install_data(logind_conf,
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data(logind_conf,
+ install_dir : pkgsysconfdir)
+ endif
install_data('org.freedesktop.login1.conf',
install_dir : dbuspolicydir)
diff --git a/src/network/meson.build b/src/network/meson.build
index cd1a897199..f5ca183088 100644
--- a/src/network/meson.build
+++ b/src/network/meson.build
@@ -236,8 +236,10 @@ if conf.get('ENABLE_NETWORKD') == 1
install_dir : polkitpkladir)
endif
- install_data('networkd.conf',
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data('networkd.conf',
+ install_dir : pkgsysconfdir)
+ endif
fuzzers += [
[['src/network/fuzz-netdev-parser.c',
diff --git a/src/oom/meson.build b/src/oom/meson.build
index a250d2a62a..e966ad1dd8 100644
--- a/src/oom/meson.build
+++ b/src/oom/meson.build
@@ -29,6 +29,8 @@ if conf.get('ENABLE_OOMD') == 1
install_data('org.freedesktop.oom1.service',
install_dir : dbussystemservicedir)
- install_data('oomd.conf',
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data('oomd.conf',
+ install_dir : sysconfdir)
+ endif
endif
diff --git a/src/pstore/meson.build b/src/pstore/meson.build
index 3b3a37c777..6c0ab0563b 100644
--- a/src/pstore/meson.build
+++ b/src/pstore/meson.build
@@ -4,7 +4,7 @@ systemd_pstore_sources = files('''
pstore.c
'''.split())
-if conf.get('ENABLE_PSTORE') == 1
+if conf.get('ENABLE_PSTORE') == 1 and install_sysconfdir
install_data('pstore.conf',
install_dir : pkgsysconfdir)
endif
diff --git a/src/resolve/meson.build b/src/resolve/meson.build
index eb6fabea95..8e7bad0659 100644
--- a/src/resolve/meson.build
+++ b/src/resolve/meson.build
@@ -169,8 +169,10 @@ if conf.get('ENABLE_RESOLVE') == 1
input : 'resolved.conf.in',
output : 'resolved.conf',
configuration : substs)
- install_data(resolved_conf,
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data(resolved_conf,
+ install_dir : pkgsysconfdir)
+ endif
install_data('resolv.conf',
install_dir : rootlibexecdir)
diff --git a/src/timesync/meson.build b/src/timesync/meson.build
index 22b6347bab..571e3fc7ef 100644
--- a/src/timesync/meson.build
+++ b/src/timesync/meson.build
@@ -26,8 +26,10 @@ if conf.get('ENABLE_TIMESYNCD') == 1
input : 'timesyncd.conf.in',
output : 'timesyncd.conf',
configuration : substs)
- install_data(timesyncd_conf,
- install_dir : pkgsysconfdir)
+ if install_sysconfdir
+ install_data(timesyncd_conf,
+ install_dir : pkgsysconfdir)
+ endif
install_data('org.freedesktop.timesync1.conf',
install_dir : dbuspolicydir)
install_data('org.freedesktop.timesync1.service',
diff --git a/src/udev/meson.build b/src/udev/meson.build
index e6dd4c7cac..5eb0f994a5 100644
--- a/src/udev/meson.build
+++ b/src/udev/meson.build
@@ -185,8 +185,10 @@ foreach prog : [['ata_id/ata_id.c'],
install_dir : udevlibexecdir)
endforeach
-install_data('udev.conf',
- install_dir : join_paths(sysconfdir, 'udev'))
+if install_sysconfdir
+ install_data('udev.conf',
+ install_dir : join_paths(sysconfdir, 'udev'))
+endif
configure_file(
input : 'udev.pc.in',
@@ -194,8 +196,10 @@ configure_file(
configuration : substs,
install_dir : pkgconfigdatadir == 'no' ? '' : pkgconfigdatadir)
-meson.add_install_script('sh', '-c',
- mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d')))
+if install_sysconfdir
+ meson.add_install_script('sh', '-c',
+ mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d')))
+endif
fuzzers += [
[['src/udev/net/fuzz-link-parser.c',