[gparted] Remove support for old volatile udev rules below /dev/.udev



commit 2cfca5b38afbe321430f1c8cd3194ce5bb0ceb18
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date:   Sat Jan 8 10:45:31 2022 +0000

    Remove support for old volatile udev rules below /dev/.udev
    
    Udev stopped supporting volatile udev rules in /dev/.udev/rules.d in
    udev 176, released 2012-01-11 [1].  The oldest supported distributions
    use much more recent combined systemd and udev releases.
    
        Distro            EOL        udevadm -V
        Debian 9          2022-Jun   232
        RHEL / CentOS 7   2024-Jun   219
        Ubuntu 18.04 LTS  2023-Apr   237
    
    Now udev only reads volatile rules from /run/udev/ruled.d [2].  Simplify
    the code a little.
    
    [1] udev 176 NEWS
        https://git.kernel.org/pub/scm/linux/hotplug/udev.git/tree/NEWS?h=176
        "A writable /run directory (ususally tmpfs) is required now for a
        fully functional udev, there is no longer a fallback to /dev/.udev."
    [2] man 7 udev
        "RULES FILES
        The udev rules are read from the files located in the system rules
        directory /usr/lib/udev/rules.d, the volatile runtime directory
        /run/udev/rules.d and the local administration directory
        /etc/udev/rules.d."

 gparted.in | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)
---
diff --git a/gparted.in b/gparted.in
index 3cefc2e3..9a4e65f2 100755
--- a/gparted.in
+++ b/gparted.in
@@ -179,26 +179,21 @@ fi
 # start Linux Software RAID array members and Bcache devices.
 #
 # Udev stores volatile / temporary runtime rules in directory /run/udev/rules.d.
-# Older versions use /dev/.udev/rules.d instead, and even older versions don't
-# have such a directory at all.  Volatile / temporary rules are use to override
-# default rules from /lib/udev/rules.d.  (Permanent local administrative rules
-# in directory /etc/udev/rules.d override all others).  See udev(7) manual page
-# from various versions of udev for details.
+# Volatile / temporary rules are used to override default rules from
+# /lib/udev/rules.d.  (Permanent local administrative rules in directory
+# /etc/udev/rules.d override all others).  See udev(7) manual page for details.
 #
 # Default udev rules containing mdadm to incrementally start array members are
 # found in 64-md-raid.rules and/or 65-md-incremental.rules, depending on the
 # distribution and age.  The rules may be commented out or not exist at all.
 #
 UDEV_TEMP_RULES=''  # List of temporary override rules files.
-for udev_temp_d in /run/udev /dev/.udev; do
-       if test -d "$udev_temp_d"; then
-               test ! -d "$udev_temp_d/rules.d" && mkdir "$udev_temp_d/rules.d"
-               udev_mdadm_rules=`egrep -l '^[^#].*mdadm (-I|--incremental)' /lib/udev/rules.d/*.rules 2> 
/dev/null`
-               udev_bcache_rules=`ls /lib/udev/rules.d/*bcache*.rules 2> /dev/null`
-               UDEV_TEMP_RULES=`echo $udev_mdadm_rules $udev_bcache_rules | sed 's,/lib/udev,/run/udev,g'`
-               break
-       fi
-done
+if test -d /run/udev; then
+       test ! -d /run/udev/rules.d && mkdir /run/udev/rules.d
+       udev_mdadm_rules=`egrep -l '^[^#].*mdadm (-I|--incremental)' /lib/udev/rules.d/*.rules 2> /dev/null`
+       udev_bcache_rules=`ls /lib/udev/rules.d/*bcache*.rules 2> /dev/null`
+       UDEV_TEMP_RULES=`echo $udev_mdadm_rules $udev_bcache_rules | sed 's,/lib/udev,/run/udev,g'`
+fi
 for rule in $UDEV_TEMP_RULES; do
        touch "$rule"
 done


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]