]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
rules: split out DMI related rules from udev-default.rules
authorLennart Poettering <lennart@poettering.net>
Mon, 19 Jun 2023 16:44:54 +0000 (18:44 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 20 Jun 2023 12:44:36 +0000 (14:44 +0200)
The DMI rules where so far guarded by an ACTION=="add" rule, but that
doesn't really make sense for setting properties (only for setting
access modes/ownership of nodes).

Hence let's move this into its own file, that guards properly on
ACTION!="remove".

Before this change the hardware vendor/model info would be dropped
whenever the device was retriggered.

rules.d/50-udev-default.rules.in
rules.d/60-dmi-id.rules [new file with mode: 0644]
rules.d/meson.build

index 50ac005016ce7f2098128c22d792dbeee2e7e41e..35dfc76e619d85b9e09e0ab8b0247b9a6553acb1 100644 (file)
@@ -110,14 +110,4 @@ SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
 
 SUBSYSTEM=="ptp", ATTR{clock_name}=="hyperv", SYMLINK += "ptp_hyperv"
 
-SUBSYSTEM!="dmi", GOTO="dmi_end"
-ENV{ID_SYS_VENDOR_IS_RUBBISH}!="1", ENV{ID_VENDOR}="$attr{sys_vendor}"
-ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="", ENV{ID_PRODUCT_NAME_IS_RUBBISH}!="1", ENV{ID_MODEL}="$attr{product_name}"
-ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_name", ENV{ID_MODEL}="$attr{product_name}"
-ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_version", ENV{ID_MODEL}="$attr{product_version}"
-# fallback to board information
-ENV{ID_VENDOR}=="", ENV{ID_VENDOR}="$attr{board_vendor}"
-ENV{ID_MODEL}=="", ENV{ID_MODEL}="$attr{board_name}"
-LABEL="dmi_end"
-
 LABEL="default_end"
diff --git a/rules.d/60-dmi-id.rules b/rules.d/60-dmi-id.rules
new file mode 100644 (file)
index 0000000..6c61ea2
--- /dev/null
@@ -0,0 +1,14 @@
+# do not edit this file, it will be overwritten on update
+
+ACTION=="remove", GOTO="dmi_end"
+SUBSYSTEM!="dmi", GOTO="dmi_end"
+
+ENV{ID_SYS_VENDOR_IS_RUBBISH}!="1", ENV{ID_VENDOR}="$attr{sys_vendor}"
+ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="", ENV{ID_PRODUCT_NAME_IS_RUBBISH}!="1", ENV{ID_MODEL}="$attr{product_name}"
+ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_name", ENV{ID_MODEL}="$attr{product_name}"
+ENV{ID_SYSFS_ATTRIBUTE_MODEL}=="product_version", ENV{ID_MODEL}="$attr{product_version}"
+# fallback to board information
+ENV{ID_VENDOR}=="", ENV{ID_VENDOR}="$attr{board_vendor}"
+ENV{ID_MODEL}=="", ENV{ID_MODEL}="$attr{board_name}"
+
+LABEL="dmi_end"
index 7280f5b995d6d9b395843c775299990e50fc0d38..20fca222da6b9fb7a0bbeee18551b8130e983104 100644 (file)
@@ -8,6 +8,7 @@ rules = [
         [files('60-autosuspend.rules',
                '60-block.rules',
                '60-cdrom_id.rules',
+               '60-dmi-id.rules',
                '60-drm.rules',
                '60-evdev.rules',
                '60-fido-id.rules',