meson: move udev rules to rules.d/

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2022-05-05 11:42:24 +02:00
parent 4a5f779f0e
commit 155078c835
7 changed files with 78 additions and 68 deletions

2
TODO
View file

@ -1394,8 +1394,6 @@ Features:
to query the list of boot entry titles that bootctl / sd-boot would show. to query the list of boot entry titles that bootctl / sd-boot would show.
Currently we only expose their identifiers. Currently we only expose their identifiers.
* move logind udev rules to top-level rule.d/ directory
* move multiseat vid/pid matches from logind udev rule to hwdb * move multiseat vid/pid matches from logind udev rule to hwdb
* logind: rework pam_logind to also do a bus call in case of invocation from * logind: rework pam_logind to also do a bus call in case of invocation from

View file

@ -4,54 +4,71 @@ install_data(
'README', 'README',
install_dir : udevrulesdir) install_dir : udevrulesdir)
rules = files( rules = [
'60-autosuspend.rules', [files('60-autosuspend.rules',
'60-block.rules', '60-block.rules',
'60-cdrom_id.rules', '60-cdrom_id.rules',
'60-drm.rules', '60-drm.rules',
'60-evdev.rules', '60-evdev.rules',
'60-fido-id.rules', '60-fido-id.rules',
'60-input-id.rules', '60-input-id.rules',
'60-persistent-alsa.rules', '60-persistent-alsa.rules',
'60-persistent-input.rules', '60-persistent-input.rules',
'60-persistent-storage.rules', '60-persistent-storage.rules',
'60-persistent-storage-tape.rules', '60-persistent-storage-tape.rules',
'60-persistent-v4l.rules', '60-persistent-v4l.rules',
'60-sensor.rules', '60-sensor.rules',
'60-serial.rules', '60-serial.rules',
'70-camera.rules', '70-camera.rules',
'70-joystick.rules', '70-joystick.rules',
'70-mouse.rules', '70-mouse.rules',
'70-touchpad.rules', '70-touchpad.rules',
'75-net-description.rules', '75-net-description.rules',
'75-probe_mtd.rules', '75-probe_mtd.rules',
'78-sound-card.rules', '78-sound-card.rules',
'80-net-setup-link.rules', '80-net-setup-link.rules',
'81-net-dhcp.rules') '81-net-dhcp.rules',
)],
if conf.get('HAVE_KMOD') == 1 [files('80-drivers.rules'),
rules += files('80-drivers.rules') conf.get('HAVE_KMOD') == 1],
endif
if dmi_arches.contains(host_machine.cpu_family()) [files('70-memory.rules'),
rules += files('70-memory.rules') dmi_arches.contains(host_machine.cpu_family())],
endif ]
install_data(rules, all_rules = []
install_dir : udevrulesdir)
all_rules = rules foreach tuple : rules
if tuple.length() == 1 or tuple[1]
rules_in = ['50-udev-default.rules', install_data(tuple[0],
'64-btrfs.rules', install_dir : udevrulesdir)
'99-systemd.rules'] all_rules += tuple[0]
endif
foreach file : rules_in endforeach
all_rules += custom_target(
file, rules_in = [
input : file + '.in', ['50-udev-default.rules'],
output: file, ['64-btrfs.rules'],
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'], ['99-systemd.rules'],
install : true,
install_dir : udevrulesdir) ['70-uaccess.rules', enable_logind and conf.get('HAVE_ACL') == 1],
['71-seat.rules', enable_logind],
['73-seat-late.rules', enable_logind],
]
foreach tuple : rules_in
want = tuple.length() == 1 or tuple[1]
rule = custom_target(
tuple[0],
input : tuple[0] + '.in',
output: tuple[0],
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install : want,
install_dir : udevrulesdir)
if want
all_rules += rule
endif
endforeach endforeach

View file

@ -65,25 +65,22 @@ pam_systemd_sym = 'src/login/pam_systemd.sym'
pam_systemd_c = files('pam_systemd.c') pam_systemd_c = files('pam_systemd.c')
enable_logind = conf.get('ENABLE_LOGIND') == 1 enable_logind = conf.get('ENABLE_LOGIND') == 1
in_files = [
['logind.conf', pkgsysconfdir, enable_logind and install_sysconfdir_samples],
['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]]
foreach tuple : in_files custom_target(
file = tuple[0] 'logind.conf',
dir = tuple[1] input : 'logind.conf.in',
install = (dir == pkgsysconfdir) ? install_sysconfdir_samples : (dir != 'no') output : 'logind.conf',
custom_target( command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
file, install : enable_logind and install_sysconfdir_samples and pkgsysconfdir != 'no',
input : file + '.in', install_dir : pkgsysconfdir)
output: file,
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'], custom_target(
install : tuple[2] and install, 'systemd-user',
install_dir : dir) input : 'systemd-user.in',
endforeach output : 'systemd-user',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install : enable_logind and pamconfdir != 'no',
install_dir : pamconfdir)
if enable_logind if enable_logind
install_data('org.freedesktop.login1.conf', install_data('org.freedesktop.login1.conf',
@ -92,8 +89,6 @@ if enable_logind
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_dir : udevrulesdir)
endif endif
############################################################ ############################################################