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
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
faa73d4e0c
commit
d7aa78c32f
+12
-8
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 += [
|
||||
|
||||
@@ -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'))
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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',
|
||||
|
||||
+4
-2
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user