]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: use jinja2 for src/login
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 16 May 2021 11:57:00 +0000 (13:57 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 19 May 2021 01:24:43 +0000 (10:24 +0900)
{% raw %} is needed to avoid trouble with {%k, which jinja thinks
is trying to access variable 'k'.

src/login/70-uaccess.rules.in [moved from src/login/70-uaccess.rules.m4 with 93% similarity]
src/login/71-seat.rules.in
src/login/73-seat-late.rules.in [moved from src/login/73-seat-late.rules.m4 with 86% similarity]
src/login/logind.conf.in
src/login/meson.build
src/login/systemd-user.in [moved from src/login/systemd-user.m4 with 79% similarity]

similarity index 93%
rename from src/login/70-uaccess.rules.m4
rename to src/login/70-uaccess.rules.in
index 8d5fa47bf3ae7497971b3d126dcc8bc911f692a2..56e1087fef94b782b86b3409d40454dd760acde1 100644 (file)
@@ -41,14 +41,14 @@ SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", TA
 
 # DRI video devices
 SUBSYSTEM=="drm", KERNEL=="card*", TAG+="uaccess"
-m4_ifdef(`GROUP_RENDER_UACCESS',``
+{% if GROUP_RENDER_UACCESS %}
 # DRI render nodes
-SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"''
-)m4_dnl
-m4_ifdef(`DEV_KVM_UACCESS',``
+SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"
+{% endif %}
+{% if DEV_KVM_UACCESS %}
 # KVM
-SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"''
-)m4_dnl
+SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
+{% endif %}
 
 # smart-card readers
 ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
index 3ccd52415f6597f1f89468579b8b274cbab5836f..809467c6c859d6636b4c2b4464d9d6f63999cdc3 100644 (file)
@@ -59,9 +59,11 @@ SUBSYSTEM=="pci", ATTRS{vendor}=="0x1ab8", ATTRS{device}=="0x4005", TAG+="seat",
 # the child if we notice that the parent wasn't recognized yet.
 
 # Match parent
+{% raw -%}
 SUBSYSTEM=="usb", ATTR{idVendor}=="058f", ATTR{idProduct}=="6254", \
                   ATTR{%k.2/idVendor}=="17e9", ATTR{%k.2/idProduct}=="401a", ATTR{%k.2/product}=="mimo inc", \
                   ENV{ID_AUTOSEAT}="1", ENV{ID_AVOID_LOOP}="1"
+{% endraw %}
 
 # Match child, look for parent's ID_AVOID_LOOP
 SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}=="mimo inc", \
@@ -72,11 +74,11 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}
 SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}=="mimo inc", \
                   ATTR{../idVendor}=="058f", ATTR{../idProduct}=="6254", \
                   ENV{ID_AVOID_LOOP}=="", \
-                  RUN+="@rootbindir@/udevadm trigger --parent-match=%p/.."
+                  RUN+="{{ROOTBINDIR}}/udevadm trigger --parent-match=%p/.."
 
 TAG=="seat", ENV{ID_PATH}=="", IMPORT{builtin}="path_id"
 TAG=="seat", ENV{ID_FOR_SEAT}=="", ENV{ID_PATH_TAG}!="", ENV{ID_FOR_SEAT}="$env{SUBSYSTEM}-$env{ID_PATH_TAG}"
 
-SUBSYSTEM=="input", ATTR{name}=="Wiebetech LLC Wiebetech", RUN+="@rootbindir@/loginctl lock-sessions"
+SUBSYSTEM=="input", ATTR{name}=="Wiebetech LLC Wiebetech", RUN+="{{ROOTBINDIR}}/loginctl lock-sessions"
 
 LABEL="seat_end"
similarity index 86%
rename from src/login/73-seat-late.rules.m4
rename to src/login/73-seat-late.rules.in
index e56cd6160380697548dbeaa31730c71ae48b24bf..7cda2b08ceda1627098acb381af0037f634d3307 100644 (file)
@@ -13,8 +13,8 @@ ENV{ID_SEAT}=="", ENV{ID_AUTOSEAT}=="1", ENV{ID_FOR_SEAT}!="", ENV{ID_SEAT}="sea
 ENV{ID_SEAT}=="", IMPORT{parent}="ID_SEAT"
 
 ENV{ID_SEAT}!="", TAG+="$env{ID_SEAT}"
-m4_ifdef(`HAVE_ACL',``
-TAG=="uaccess", ENV{MAJOR}!="", RUN{builtin}+="uaccess"''
-)m4_dnl
+{% if HAVE_ACL %}
+TAG=="uaccess", ENV{MAJOR}!="", RUN{builtin}+="uaccess"
+{% endif %}
 
 LABEL="seat_late_end"
index 564868e7ae61bc1d5cc79cdd8862e914b52045e7..27ba77ce79613ee94ca73676f7fc6ab338f860e6 100644 (file)
@@ -17,7 +17,7 @@
 [Login]
 #NAutoVTs=6
 #ReserveVT=6
-#KillUserProcesses=@KILL_USER_PROCESSES@
+#KillUserProcesses={{ "yes" if KILL_USER_PROCESSES else "no" }}
 #KillOnlyUsers=
 #KillExcludeUsers=root
 #InhibitDelayMaxSec=5
index 156c391d8ac0529286dfc3e8a95081d1560145e8..8c20e6be65cc8a38b96c2e7a075d2fee57c0dd1f 100644 (file)
@@ -65,58 +65,35 @@ user_runtime_dir_sources = files('''
 pam_systemd_sym = 'src/login/pam_systemd.sym'
 pam_systemd_c = files('pam_systemd.c')
 
-if conf.get('ENABLE_LOGIND') == 1
-        logind_conf = configure_file(
-                input : 'logind.conf.in',
-                output : 'logind.conf',
-                configuration : substs)
-        if install_sysconfdir_samples
-                install_data(logind_conf,
-                             install_dir : pkgsysconfdir)
-        endif
+enable_logind = conf.get('ENABLE_LOGIND') == 1
+in_files = [
+        ['logind.conf',        pkgsysconfdir, enable_logind],
+        ['70-uaccess.rules',   udevrulesdir,  enable_logind and conf.get('HAVE_ACL') == 1],
+        ['71-seat.rules',      udevrulesdir,  enable_logind],
+        ['73-seat-late.rules', udevrulesdir,  enable_logind],
+        ['systemd-user',       pamconfdir,    enable_logind and pamconfdir != 'no']]
+
+foreach tuple : in_files
+        file = tuple[0]
+        custom_target(
+                file,
+                input : file + '.in',
+                output: file,
+                command : [meson_render_jinja2, config_h, '@INPUT@'],
+                capture : true,
+                install : tuple[2],
+                install_dir : tuple[1])
+endforeach
 
+if enable_logind
         install_data('org.freedesktop.login1.conf',
                      install_dir : dbuspolicydir)
         install_data('org.freedesktop.login1.service',
                      install_dir : dbussystemservicedir)
         install_data('org.freedesktop.login1.policy',
                      install_dir : polkitpolicydir)
-
-        install_data('70-power-switch.rules', install_dir : udevrulesdir)
-
-        seat_rules = configure_file(
-                input : '71-seat.rules.in',
-                output : '71-seat.rules',
-                configuration : substs)
-        install_data(seat_rules,
+        install_data('70-power-switch.rules',
                      install_dir : udevrulesdir)
-
-        custom_target(
-                '70-uaccess.rules',
-                input : '70-uaccess.rules.m4',
-                output: '70-uaccess.rules',
-                command : [meson_apply_m4, config_h, '@INPUT@'],
-                capture : true,
-                install : conf.get('HAVE_ACL') == 1,
-                install_dir : udevrulesdir)
-
-        custom_target(
-                '73-seat-late.rules',
-                input : '73-seat-late.rules.m4',
-                output: '73-seat-late.rules',
-                command : [meson_apply_m4, config_h, '@INPUT@'],
-                capture : true,
-                install : true,
-                install_dir : udevrulesdir)
-
-        custom_target(
-                'systemd-user',
-                input : 'systemd-user.m4',
-                output: 'systemd-user',
-                command : [meson_apply_m4, config_h, '@INPUT@'],
-                capture : true,
-                install : pamconfdir != 'no',
-                install_dir : pamconfdir)
 endif
 
 ############################################################
similarity index 79%
rename from src/login/systemd-user.m4
rename to src/login/systemd-user.in
index f6313f79fe18d9344d75581f097339d1b23b95db..343aec4a01bc8c8c6bb1f7463e64dc498755af60 100644 (file)
@@ -2,19 +2,19 @@
 #
 # Used by systemd --user instances.
 
-m4_ifdef(`ENABLE_HOMED',
+{% if ENABLE_HOMED %}
 -account sufficient pam_systemd_home.so
-)m4_dnl
+{% endif %}
 account sufficient pam_unix.so
 account required pam_permit.so
 
-m4_ifdef(`HAVE_SELINUX',
+{% if HAVE_SELINUX %}
 session required pam_selinux.so close
 session required pam_selinux.so nottys open
-)m4_dnl
+{% endif %}
 session required pam_loginuid.so
 session optional pam_keyinit.so force revoke
-m4_ifdef(`ENABLE_HOMED',
+{% if ENABLE_HOMED %}
 -session optional pam_systemd_home.so
-)m4_dnl
+{% endif %}
 session optional pam_systemd.so