summaryrefslogtreecommitdiffstats
path: root/tmpfiles.d/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'tmpfiles.d/meson.build')
-rw-r--r--tmpfiles.d/meson.build62
1 files changed, 62 insertions, 0 deletions
diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build
new file mode 100644
index 0000000..7322460
--- /dev/null
+++ b/tmpfiles.d/meson.build
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+enable_tmpfiles = conf.get('ENABLE_TMPFILES') == 1
+
+tmpfiles = [['home.conf', ''],
+ ['journal-nocow.conf', ''],
+ ['systemd-nologin.conf', 'HAVE_PAM'],
+ ['systemd-nspawn.conf', 'ENABLE_MACHINED'],
+ ['systemd-tmp.conf', ''],
+ ['portables.conf', 'ENABLE_PORTABLED'],
+ ['systemd-pstore.conf', 'ENABLE_PSTORE'],
+ ['tmp.conf', ''],
+ ['x11.conf', ''],
+ ['legacy.conf', 'HAVE_SYSV_COMPAT'],
+ ]
+
+foreach pair : tmpfiles
+ if not enable_tmpfiles
+ # do nothing
+ elif pair[1] == '' or conf.get(pair[1]) == 1
+ install_data(pair[0], install_dir : tmpfilesdir)
+ else
+ message('Not installing tmpfiles.d/@0@ because @1@ is @2@'
+ .format(pair[0], pair[1], conf.get(pair[1], 0)))
+ endif
+endforeach
+
+in_files = ['static-nodes-permissions.conf']
+
+foreach file : in_files
+ gen = configure_file(
+ input : file + '.in',
+ output : file,
+ configuration : substs)
+ if enable_tmpfiles
+ install_data(gen,
+ install_dir : tmpfilesdir)
+ endif
+endforeach
+
+m4_files = ['etc.conf',
+ 'systemd.conf',
+ 'var.conf']
+
+foreach file : m4_files
+ if enable_tmpfiles
+ custom_target(
+ 'tmpfiles.d_' + file,
+ input : file + '.m4',
+ output: file,
+ command : [meson_apply_m4, config_h, '@INPUT@'],
+ capture : true,
+ install : true,
+ install_dir : tmpfilesdir)
+ endif
+endforeach
+
+if enable_tmpfiles and install_sysconfdir
+ meson.add_install_script(
+ 'sh', '-c',
+ mkdir_p.format(join_paths(sysconfdir, 'tmpfiles.d')))
+endif