meson: use jinja2 for src/login

{% raw %} is needed to avoid trouble with {%k, which jinja thinks
is trying to access variable 'k'.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2021-05-19 10:24:43 +09:00
committed by Yu Watanabe
parent d924a938fe
commit c900d89faa
6 changed files with 41 additions and 62 deletions
@@ -41,14 +41,14 @@ SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", TA
# DRI video devices # DRI video devices
SUBSYSTEM=="drm", KERNEL=="card*", TAG+="uaccess" SUBSYSTEM=="drm", KERNEL=="card*", TAG+="uaccess"
m4_ifdef(`GROUP_RENDER_UACCESS',`` {% if GROUP_RENDER_UACCESS %}
# DRI render nodes # DRI render nodes
SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"'' SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"
)m4_dnl {% endif %}
m4_ifdef(`DEV_KVM_UACCESS',`` {% if DEV_KVM_UACCESS %}
# KVM # KVM
SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"'' SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
)m4_dnl {% endif %}
# smart-card readers # smart-card readers
ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess" ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
+4 -2
View 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. # the child if we notice that the parent wasn't recognized yet.
# Match parent # Match parent
{% raw -%}
SUBSYSTEM=="usb", ATTR{idVendor}=="058f", ATTR{idProduct}=="6254", \ SUBSYSTEM=="usb", ATTR{idVendor}=="058f", ATTR{idProduct}=="6254", \
ATTR{%k.2/idVendor}=="17e9", ATTR{%k.2/idProduct}=="401a", ATTR{%k.2/product}=="mimo inc", \ 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" ENV{ID_AUTOSEAT}="1", ENV{ID_AVOID_LOOP}="1"
{% endraw %}
# Match child, look for parent's ID_AVOID_LOOP # Match child, look for parent's ID_AVOID_LOOP
SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}=="mimo inc", \ 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", \ SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="401a", ATTR{product}=="mimo inc", \
ATTR{../idVendor}=="058f", ATTR{../idProduct}=="6254", \ ATTR{../idVendor}=="058f", ATTR{../idProduct}=="6254", \
ENV{ID_AVOID_LOOP}=="", \ 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_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}" 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" LABEL="seat_end"
@@ -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}=="", IMPORT{parent}="ID_SEAT"
ENV{ID_SEAT}!="", TAG+="$env{ID_SEAT}" ENV{ID_SEAT}!="", TAG+="$env{ID_SEAT}"
m4_ifdef(`HAVE_ACL',`` {% if HAVE_ACL %}
TAG=="uaccess", ENV{MAJOR}!="", RUN{builtin}+="uaccess"'' TAG=="uaccess", ENV{MAJOR}!="", RUN{builtin}+="uaccess"
)m4_dnl {% endif %}
LABEL="seat_late_end" LABEL="seat_late_end"
+1 -1
View File
@@ -17,7 +17,7 @@
[Login] [Login]
#NAutoVTs=6 #NAutoVTs=6
#ReserveVT=6 #ReserveVT=6
#KillUserProcesses=@KILL_USER_PROCESSES@ #KillUserProcesses={{ "yes" if KILL_USER_PROCESSES else "no" }}
#KillOnlyUsers= #KillOnlyUsers=
#KillExcludeUsers=root #KillExcludeUsers=root
#InhibitDelayMaxSec=5 #InhibitDelayMaxSec=5
+21 -44
View File
@@ -65,58 +65,35 @@ user_runtime_dir_sources = files('''
pam_systemd_sym = 'src/login/pam_systemd.sym' pam_systemd_sym = 'src/login/pam_systemd.sym'
pam_systemd_c = files('pam_systemd.c') pam_systemd_c = files('pam_systemd.c')
if conf.get('ENABLE_LOGIND') == 1 enable_logind = conf.get('ENABLE_LOGIND') == 1
logind_conf = configure_file( in_files = [
input : 'logind.conf.in', ['logind.conf', pkgsysconfdir, enable_logind],
output : 'logind.conf', ['70-uaccess.rules', udevrulesdir, enable_logind and conf.get('HAVE_ACL') == 1],
configuration : substs) ['71-seat.rules', udevrulesdir, enable_logind],
if install_sysconfdir_samples ['73-seat-late.rules', udevrulesdir, enable_logind],
install_data(logind_conf, ['systemd-user', pamconfdir, enable_logind and pamconfdir != 'no']]
install_dir : pkgsysconfdir)
endif
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_data('org.freedesktop.login1.conf',
install_dir : dbuspolicydir) install_dir : dbuspolicydir)
install_data('org.freedesktop.login1.service', install_data('org.freedesktop.login1.service',
install_dir : dbussystemservicedir) install_dir : dbussystemservicedir)
install_data('org.freedesktop.login1.policy', install_data('org.freedesktop.login1.policy',
install_dir : polkitpolicydir) install_dir : polkitpolicydir)
install_data('70-power-switch.rules',
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_dir : udevrulesdir) 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 endif
############################################################ ############################################################
@@ -2,19 +2,19 @@
# #
# Used by systemd --user instances. # Used by systemd --user instances.
m4_ifdef(`ENABLE_HOMED', {% if ENABLE_HOMED %}
-account sufficient pam_systemd_home.so -account sufficient pam_systemd_home.so
)m4_dnl {% endif %}
account sufficient pam_unix.so account sufficient pam_unix.so
account required pam_permit.so account required pam_permit.so
m4_ifdef(`HAVE_SELINUX', {% if HAVE_SELINUX %}
session required pam_selinux.so close session required pam_selinux.so close
session required pam_selinux.so nottys open session required pam_selinux.so nottys open
)m4_dnl {% endif %}
session required pam_loginuid.so session required pam_loginuid.so
session optional pam_keyinit.so force revoke session optional pam_keyinit.so force revoke
m4_ifdef(`ENABLE_HOMED', {% if ENABLE_HOMED %}
-session optional pam_systemd_home.so -session optional pam_systemd_home.so
)m4_dnl {% endif %}
session optional pam_systemd.so session optional pam_systemd.so