Skip to content
  • Mike Fleetwood's avatar
    Also find system default udev rules in /usr/lib/udev/rules.d (!116) · 0ecb45e7
    Mike Fleetwood authored and Curtis Gedak's avatar Curtis Gedak committed
    When blanking of udev rules was first tested [1][2] and added [3] all
    the distributions at the time (CentOS 6, Debian 6, Fedora 19,
    openSUSE 12.2, Ubuntu 12.04 LTS) stored the system default rules in
    directory /lib/udev/rules.d.  Now most distributions (CentOS Stream 9,
    Debian 11, Fedora 38, Ubuntu 22.04 LTS, openSUSE Leap 15.4) store the
    system default rules in directory /usr/lib/udev/rules.d.  Most of these
    distributions have a merged /usr file system [4][5] so /lib is a symlink
    to /usr/lib and the system default rules can still found using the
    original directory.  But openSUSE 15.4 doesn't have a merged /usr so the
    gparted shell wrapper doesn't find the system default rules in directory
    /usr/lib/udev/rules.d and doesn't prevent auto starting of Linux
    Software RAID arrays and bcache devices during a storage probe.
    
    An extra consideration is that Alpine Linux 3.17 doesn't have a merged
    /usr file system, but has both /lib/udev/rules.d and
    /usr/lib/udev/rules.d directories with different rules files.  Therefore
    fix this by checking for system default udev rules in both directories.
    
    [1] Bug 709640 - Linux Swap Suspend and Software RAID partitions not
        recognised, comment 7
        https://bugzilla.gnome.org/show_bug.cgi?id=709640#c7
    [2] Bug 709640 - Linux Swap Suspend and Software RAID partitions not
        recognised, comment 12
        https://bugzilla.gnome.org/show_bug.cgi?id=709640#c12
    [3] a255abf3
        Prevent GParted starting stopped Linux Software RAID arrays (#709640)
    [4] The Case for the /usr Merge
        http://0pointer.de/blog/projects/the-usr-merge
    [5] The Case for the /usr Merge
        https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
    
    Closes !116 - Systemd mount masking and udev rule location updates
    0ecb45e7