From e11a25cadbe7a6508536f8b34529a2ce6256adc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 16 May 2021 17:52:42 +0200 Subject: [PATCH] meson: use jinja2 for various files in src/core/ --- meson.build | 5 +++- src/core/meson.build | 29 +++++++++------------ src/core/org.freedesktop.systemd1.policy.in | 2 +- src/core/system.conf.in | 6 ++--- src/core/systemd.pc.in | 20 +++++++------- src/core/user.conf.in | 2 +- 6 files changed, 31 insertions(+), 33 deletions(-) diff --git a/meson.build b/meson.build index dd1e9eda07..33a7acb53e 100644 --- a/meson.build +++ b/meson.build @@ -21,7 +21,8 @@ libudev_version = '1.7.1' # names, sometimes. Not all variables are included in every # set. Ugh, ugh, ugh! conf = configuration_data() -conf.set('PROJECT_VERSION', meson.project_version(), +conf.set_quoted('PROJECT_URL', 'https://www.freedesktop.org/wiki/Software/systemd') +conf.set('PROJECT_VERSION', meson.project_version(), description : 'Numerical project version (used where a simple number is expected)') substs = configuration_data() @@ -219,6 +220,7 @@ endif memory_accounting_default = get_option('memory-accounting-default') status_unit_format_default = get_option('status-unit-format-default') +conf.set_quoted('SYSCONF_DIR', sysconfdir) conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir) conf.set_quoted('SYSTEM_CONFIG_UNIT_DIR', join_paths(pkgsysconfdir, 'system')) conf.set_quoted('SYSTEM_DATA_UNIT_DIR', systemunitdir) @@ -290,6 +292,7 @@ conf.set_quoted('SYSTEMD_USERWORK_PATH', join_paths(rootlib conf.set10('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default) conf.set_quoted('MEMORY_ACCOUNTING_DEFAULT_YES_NO', memory_accounting_default ? 'yes' : 'no') conf.set('STATUS_UNIT_FORMAT_DEFAULT', 'STATUS_UNIT_FORMAT_' + status_unit_format_default.to_upper()) +conf.set_quoted('STATUS_UNIT_FORMAT_DEFAULT_STR', status_unit_format_default) substs.set('prefix', prefixdir) substs.set('rootprefix', rootprefixdir) diff --git a/src/core/meson.build b/src/core/meson.build index 874158a7fe..e93d17a43a 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -174,21 +174,23 @@ core_includes = [includes, include_directories('.')] systemd_sources = files('main.c') -in_files = [['system.conf', pkgsysconfdir], - ['user.conf', pkgsysconfdir], - ['systemd.pc', pkgconfigdatadir]] +in_files = [['system.conf', pkgsysconfdir], + ['user.conf', pkgsysconfdir], + ['systemd.pc', pkgconfigdatadir], + ['org.freedesktop.systemd1.policy', polkitpolicydir]] foreach item : in_files file = item[0] dir = item[1] - if install_sysconfdir_samples or dir != pkgsysconfdir - configure_file( - input : file + '.in', - output : file, - configuration : substs, - install_dir : dir == 'no' ? '' : dir) - endif + custom_target( + file, + input : file + '.in', + output: file, + command : [meson_render_jinja2, config_h, '@INPUT@'], + capture : true, + install : dir != 'no', + install_dir : dir) endforeach install_data('org.freedesktop.systemd1.conf', @@ -196,13 +198,6 @@ install_data('org.freedesktop.systemd1.conf', install_data('org.freedesktop.systemd1.service', install_dir : dbussystemservicedir) -policy = configure_file( - input : 'org.freedesktop.systemd1.policy.in', - output : 'org.freedesktop.systemd1.policy', - configuration : substs) -install_data(policy, - install_dir : polkitpolicydir) - meson.add_install_script('sh', '-c', mkdir_p.format(systemshutdowndir)) meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir)) meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir)) diff --git a/src/core/org.freedesktop.systemd1.policy.in b/src/core/org.freedesktop.systemd1.policy.in index a6d40d7e8f..74721c516f 100644 --- a/src/core/org.freedesktop.systemd1.policy.in +++ b/src/core/org.freedesktop.systemd1.policy.in @@ -26,7 +26,7 @@ no auth_admin_keep - @rootlibexecdir@/systemd-reply-password + {{ROOTLIBEXECDIR}}/systemd-reply-password diff --git a/src/core/system.conf.in b/src/core/system.conf.in index 97325d1811..e88280bd0a 100644 --- a/src/core/system.conf.in +++ b/src/core/system.conf.in @@ -37,7 +37,7 @@ #NoNewPrivileges=no #SystemCallArchitectures= #TimerSlackNSec= -#StatusUnitFormat=@STATUS_UNIT_FORMAT_DEFAULT@ +#StatusUnitFormat={{STATUS_UNIT_FORMAT_DEFAULT_STR}} #DefaultTimerAccuracySec=1min #DefaultStandardOutput=journal #DefaultStandardError=inherit @@ -52,7 +52,7 @@ #DefaultIOAccounting=no #DefaultIPAccounting=no #DefaultBlockIOAccounting=no -#DefaultMemoryAccounting=@MEMORY_ACCOUNTING_DEFAULT@ +#DefaultMemoryAccounting={{ 'yes' if MEMORY_ACCOUNTING_DEFAULT else 'no' }} #DefaultTasksAccounting=yes #DefaultTasksMax=15% #DefaultLimitCPU= @@ -61,7 +61,7 @@ #DefaultLimitSTACK= #DefaultLimitCORE= #DefaultLimitRSS= -#DefaultLimitNOFILE=1024:@HIGH_RLIMIT_NOFILE@ +#DefaultLimitNOFILE=1024:{{HIGH_RLIMIT_NOFILE}} #DefaultLimitAS= #DefaultLimitNPROC= #DefaultLimitMEMLOCK= diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in index b5cc8f94a5..fc0f8c34fa 100644 --- a/src/core/systemd.pc.in +++ b/src/core/systemd.pc.in @@ -12,9 +12,9 @@ # shall have underscores. prefix=/usr -root_prefix=@rootprefix_noslash@ +root_prefix={{ROOTPREFIX_NOSLASH}} rootprefix=${root_prefix} -sysconf_dir=@sysconfdir@ +sysconf_dir={{SYSCONF_DIR}} sysconfdir=${sysconf_dir} systemd_util_dir=${root_prefix}/lib/systemd @@ -80,22 +80,22 @@ modulesloaddir=${modules_load_dir} catalog_dir=${prefix}/lib/systemd/catalog catalogdir=${catalog_dir} -system_uid_max=@SYSTEM_UID_MAX@ +system_uid_max={{SYSTEM_UID_MAX}} systemuidmax=${system_uid_max} -system_gid_max=@SYSTEM_GID_MAX@ +system_gid_max={{SYSTEM_GID_MAX}} systemgidmax=${system_gid_max} -dynamic_uid_min=@dynamicuidmin@ +dynamic_uid_min={{DYNAMIC_UID_MIN}} dynamicuidmin=${dynamic_uid_min} -dynamic_uid_max=@dynamicuidmax@ +dynamic_uid_max={{DYNAMIC_UID_MAX}} dynamicuidmax=${dynamic_uid_max} -container_uid_base_min=@containeruidbasemin@ +container_uid_base_min={{CONTAINER_UID_BASE_MIN}} containeruidbasemin=${container_uid_base_min} -container_uid_base_max=@containeruidbasemax@ +container_uid_base_max={{CONTAINER_UID_BASE_MAX}} containeruidbasemax=${container_uid_base_max} Name: systemd Description: systemd System and Service Manager -URL: @PROJECT_URL@ -Version: @PROJECT_VERSION@ +URL: {{PROJECT_URL}} +Version: {{PROJECT_VERSION}} diff --git a/src/core/user.conf.in b/src/core/user.conf.in index 5f0ca4cb02..e0a7703525 100644 --- a/src/core/user.conf.in +++ b/src/core/user.conf.in @@ -20,7 +20,7 @@ #LogTime=no #SystemCallArchitectures= #TimerSlackNSec= -#StatusUnitFormat=@STATUS_UNIT_FORMAT_DEFAULT@ +#StatusUnitFormat={{STATUS_UNIT_FORMAT_DEFAULT_STR}} #DefaultTimerAccuracySec=1min #DefaultStandardOutput=inherit #DefaultStandardError=inherit