]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: also allow setting GIT_VERSION via templates
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 5 Apr 2022 14:52:44 +0000 (16:52 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 5 Apr 2022 20:18:31 +0000 (22:18 +0200)
GIT_VERSION is not available as a config.h variable, because it's rendered
into version.h during builds. Let's rework jinja2 rendering to also
parse version.h. No functional change, the new variable is so far unused.

I guess this will make partial rebuilds a bit slower, but it's useful
to be able to use the full version string.

22 files changed:
docs/sysvinit/meson.build
factory/templates/meson.build
man/meson.build
meson.build
rules.d/meson.build
shell-completion/bash/meson.build
shell-completion/zsh/meson.build
src/core/meson.build
src/journal-remote/meson.build
src/libsystemd/meson.build
src/libudev/meson.build
src/login/meson.build
src/resolve/meson.build
src/rpm/meson.build
src/timesync/meson.build
src/udev/meson.build
src/vconsole/meson.build
sysctl.d/meson.build
sysusers.d/meson.build
tmpfiles.d/meson.build
tools/meson-render-jinja2.py
units/meson.build

index cd3015ca4b4954c9236303c8a43246b9a9ea33b0..64476a5d76f3c99b5e8f881143c22c6bf1a27817 100644 (file)
@@ -4,6 +4,6 @@ custom_target(
         'README',
         input : 'README.in',
         output : 'README',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : conf.get('HAVE_SYSV_COMPAT') == 1,
         install_dir : sysvinit_path)
index 821f176a747a4b010186b065dc19db926e7d5040..ece2c644ff21faac690feb71521e7d6d777a05eb 100644 (file)
@@ -6,6 +6,6 @@ custom_target(
         'locale.conf',
         input : 'locale.conf.in',
         output : 'locale.conf',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : true,
         install_dir : factory_etc_dir)
index 83b368115b4b552a67669c9ed237520b426abf2c..d9c706b4abab403fd4d9566d2c6f82ae2dea68be 100644 (file)
@@ -30,7 +30,7 @@ custom_entities_ent = custom_target(
         'custom-entities.ent',
         input : 'custom-entities.ent.in',
         output : 'custom-entities.ent',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'])
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
 
 man_pages = []
 html_pages = []
index b43273262d00b223a3beb2e4ab9e5a2499286754..ce54b1045db622f62f5cd4af5ead9fbe9f509d45 100644 (file)
@@ -1826,6 +1826,8 @@ config_h = configure_file(
 
 add_project_arguments('-include', 'config.h', language : 'c')
 
+jinja2_cmdline = [meson_render_jinja2, config_h, version_h]
+
 ############################################################
 
 # binaries that have --help and are intended for use by humans,
index e6533e001a5fc484ce40908c4e3e2bb7fbf1783a..f725e14d95d0bd5f8537d8d9835b48ab6949f524 100644 (file)
@@ -51,7 +51,7 @@ foreach file : rules_in
                 file,
                 input : file + '.in',
                 output: file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : true,
                 install_dir : udevrulesdir)
 endforeach
index ae6a61e555415e66e3c0ca28c31555aec074ac47..fb7314348a4aace76c475181f2971b0e81d278d6 100644 (file)
@@ -14,7 +14,7 @@ custom_target(
         'systemctl',
         input : 'systemctl.in',
         output : 'systemctl',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : bashcompletiondir != 'no',
         install_dir : bashcompletiondir)
 
index bac531798cce162bbb0eb21b0ae4201388094c39..b39f933ea4cfa2898a0d37852c6f3d071c98b065 100644 (file)
@@ -9,7 +9,7 @@ custom_target(
         '_systemctl',
         input : '_systemctl.in',
         output : '_systemctl',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : zshcompletiondir != 'no',
         install_dir : zshcompletiondir)
 
index f5e04b37ca2b90403eff8d43d36a57fb32102f0b..ee2f8774bf36fc639fed375de7f7ce52a34257ff 100644 (file)
@@ -151,7 +151,7 @@ load_fragment_gperf_gperf = custom_target(
         'load-fragment-gperf.gperf',
         input : 'load-fragment-gperf.gperf.in',
         output: 'load-fragment-gperf.gperf',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'])
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
 
 load_fragment_gperf_c = custom_target(
         'load-fragment-gperf.c',
@@ -217,7 +217,7 @@ foreach item : in_files
                 file,
                 input : file + '.in',
                 output: file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : (dir == pkgsysconfdir) ? install_sysconfdir_samples : (dir != 'no'),
                 install_dir : dir)
 endforeach
index 4bbbc1431fd04a624676112c585a0ded37b4a946..f81d906616da8c5cc18fcb1020329e46c2b95565 100644 (file)
@@ -54,7 +54,7 @@ foreach tuple : in_files
                 file,
                 input : file + '.in',
                 output: file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : tuple[1],
                 install_dir : pkgsysconfdir)
 endforeach
index 67b439a5dd56c54838938a4cdbdac46629bc9a90..a86b8f896b633e362b103cfec7d218604b8f0982 100644 (file)
@@ -186,7 +186,7 @@ custom_target(
         'libsystemd.pc',
         input : 'libsystemd.pc.in',
         output : 'libsystemd.pc',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : pkgconfiglibdir != 'no',
         install_dir : pkgconfiglibdir)
 
index 2d51ff7c5837c757857f12aa9a2f9e1e8caeced9..a831391cc1fb93352f67bb4703b4cc82d35a350d 100644 (file)
@@ -38,7 +38,7 @@ custom_target(
         'libudev.pc',
         input : 'libudev.pc.in',
         output : 'libudev.pc',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : pkgconfiglibdir != 'no',
         install_dir : pkgconfiglibdir)
 
index 1a2d738e840de8b8bd32861ff4ff90f60adbf85d..bd350569d56e78f044b472f45191a584f47f53c1 100644 (file)
@@ -80,7 +80,7 @@ foreach tuple : in_files
                 file,
                 input : file + '.in',
                 output: file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : tuple[2] and install,
                 install_dir : dir)
 endforeach
index b2da249c87d05c41d28bf8260ddd861f67fa26e1..e11aefce7acb7418b2fed984ab926e5924a12d92 100644 (file)
@@ -168,7 +168,7 @@ custom_target(
         'resolved.conf',
         input : 'resolved.conf.in',
         output : 'resolved.conf',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : conf.get('ENABLE_RESOLVE') == 1 and install_sysconfdir_samples,
         install_dir : pkgsysconfdir)
 
index 4bfeda8883c4059c666453b98523bf0ba8928362..817665912a9fd8eb2e422a57b929c726256fd111 100644 (file)
@@ -18,7 +18,7 @@ foreach tuple : in_files
                 file,
                 input : file + '.in',
                 output : file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : tuple[1],
                 install_dir : tuple.length() > 2 ? tuple[2] : '',
                 build_by_default : true)
index 8ecfbfab828e2e5e89abc0883b7b326e44a92a3e..35467026a84f7086748dfab883d7889e4adb2351 100644 (file)
@@ -39,7 +39,7 @@ custom_target(
         'timesyncd.conf',
         input : 'timesyncd.conf.in',
         output : 'timesyncd.conf',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : conf.get('ENABLE_TIMESYNCD') == 1 and install_sysconfdir_samples,
         install_dir : pkgsysconfdir)
 
index 354b9232914e843e636bba08ee542132ab06f4f9..79964a7d8e9f90d6a254e805b19311857bbd6b3b 100644 (file)
@@ -166,7 +166,7 @@ custom_target(
         'udev.pc',
         input : 'udev.pc.in',
         output : 'udev.pc',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : pkgconfigdatadir != 'no',
         install_dir : pkgconfigdatadir)
 
index eb22358c20530824cf223a9e32e6172c5940665f..bb3c3c5a03b7521bac11a63d31639a5e526a170b 100644 (file)
@@ -4,6 +4,6 @@ custom_target(
         '90-vconsole.rules',
         input : '90-vconsole.rules.in',
         output : '90-vconsole.rules',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : conf.get('ENABLE_VCONSOLE') == 1,
         install_dir : udevrulesdir)
index 1745a13bfbd2bdac81447968b726e5b29200a8e9..ecec903d1bf6f7140f5a6496821deb1a750022cc 100644 (file)
@@ -16,7 +16,7 @@ custom_target(
         '50-coredump.conf',
         input : '50-coredump.conf.in',
         output : '50-coredump.conf',
-        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
         install : conf.get('ENABLE_COREDUMP') == 1,
         install_dir : sysctldir)
 
index 73d507f1f15fb6e10b1d99e11c16d59e8c2999c4..608c4b744a5558ef21ba7e224bf4a70ad7694c36 100644 (file)
@@ -33,7 +33,7 @@ foreach tuple : in_files
                 file,
                 input : file + '.in',
                 output: file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : tuple[1],
                 install_dir : sysusersdir)
 endforeach
index b8d3919025910588de4fe7fb31b21c68ad528095..306e066f22603fa5267872b38b2c2e881635ed5e 100644 (file)
@@ -41,7 +41,7 @@ foreach pair : in_files
                         pair[0],
                         input : pair[0] + '.in',
                         output: pair[0],
-                        command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                        command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                         install : enable_tmpfiles,
                         install_dir : tmpfilesdir)
         else
index 89735c70ed26d6c89b604f157659a7c5f09f2559..fbaae596de6b651978558ad21f2ef5c27abace87 100755 (executable)
@@ -28,9 +28,10 @@ def render(filename, defines):
 
 if __name__ == '__main__':
     defines = parse_config_h(sys.argv[1])
-    output = render(sys.argv[2], defines)
-    with open(sys.argv[3], 'w') as f:
+    defines.update(parse_config_h(sys.argv[2]))
+    output = render(sys.argv[3], defines)
+    with open(sys.argv[4], 'w') as f:
         f.write(output)
         f.write('\n')
-    info = os.stat(sys.argv[2])
-    os.chmod(sys.argv[3], info.st_mode)
+    info = os.stat(sys.argv[3])
+    os.chmod(sys.argv[4], info.st_mode)
index 8a3bd0da51281f758893589e23a3be572b0e89c0..e8f81f22302f57186ec419e61efd1db255b3f50b 100644 (file)
@@ -276,7 +276,7 @@ foreach tuple : in_units
                 file,
                 input : file + '.in',
                 output : file,
-                command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
+                command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
                 install : install,
                 install_dir : systemunitdir)