[arch-commits] Commit in systemd/trunk (3 files)

Christian Hesse eworm at gemini.archlinux.org
Mon Oct 25 19:45:06 UTC 2021


    Date: Monday, October 25, 2021 @ 19:45:06
  Author: eworm
Revision: 426540

upgpkg: systemd 249.5-3: update mkinitcpio udev hook

Modified:
  systemd/trunk/PKGBUILD
  systemd/trunk/initcpio-install-systemd
  systemd/trunk/initcpio-install-udev

--------------------------+
 PKGBUILD                 |    6 ++--
 initcpio-install-systemd |    3 ++
 initcpio-install-udev    |   65 ++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 62 insertions(+), 12 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-10-25 19:34:58 UTC (rev 426539)
+++ PKGBUILD	2021-10-25 19:45:06 UTC (rev 426540)
@@ -7,7 +7,7 @@
 _tag='f1d37a5c491d85255e9996960dc2889a15022b78' # git rev-parse v${_tag_name}
 _tag_name=249.5
 pkgver="${_tag_name/-/}"
-pkgrel=2
+pkgrel=3
 arch=('x86_64')
 url='https://www.github.com/systemd/systemd'
 makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf'
@@ -46,8 +46,8 @@
             '10f3b477527ec263cc6465c84d94416e356435930edc9e26844a0fd4f71e87a27fa0f91ce24b43a22cacdd2ead5e760e9d607369bc537a8da8d34021302a89a1'
             '34541f1967536524329867f9f341f8d9250d9d771c60dc3e6a22ccb82fc01f103cfd3f9903329777591ccbecd2446622a5d6b3804fa0411482b85c70593ee8ad'
             'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73'
-            'f599e1a35cba2c4e83e37c2299fac23ae128d8f68081283e71e1729384975dee1c4b677787f31a17890aeb98c8d2fc90405a202644290708ef9c027315022b17'
-            'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a'
+            '77582416df858e34bc05a9928ddacbe506d24946576cb7c08c7131cf2a9e059d8ff80b226684fc942bca2edf0c6d2584fa3e22939284b102b30395450784c4d3'
+            '8af5d7b1553be0cc193440dbb94683c2d2d777634dac4369716d75a1b2c2564551c836f3aee8220edfa5ef59122dea737bfe60c588637249bf67e15dba0534d0'
             '61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648'
             'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5'
             '5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75'

Modified: initcpio-install-systemd
===================================================================
--- initcpio-install-systemd	2021-10-25 19:34:58 UTC (rev 426539)
+++ initcpio-install-systemd	2021-10-25 19:45:06 UTC (rev 426540)
@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# This is in 'udev' and 'systemd' hook... Let's hope we have
+# it in mkinitcpio soon.
+# https://github.com/archlinux/mkinitcpio/pull/54
 add_udev_rule() {
     # Add an udev rules file to the initcpio image. Dependencies on binaries
     # will be discovered and added.

Modified: initcpio-install-udev
===================================================================
--- initcpio-install-udev	2021-10-25 19:34:58 UTC (rev 426539)
+++ initcpio-install-udev	2021-10-25 19:45:06 UTC (rev 426540)
@@ -1,18 +1,65 @@
 #!/bin/bash
 
+# This is in 'udev' and 'systemd' hook... Let's hope we have
+# it in mkinitcpio soon.
+# https://github.com/archlinux/mkinitcpio/pull/54
+add_udev_rule() {
+    # Add an udev rules file to the initcpio image. Dependencies on binaries
+    # will be discovered and added.
+    #   $1: path to rules file (or name of rules file)
+
+    local rules="$1" rule= key= value= binary=
+
+    if [[ ${rules:0:1} != '/' ]]; then
+        rules=$(PATH=/usr/lib/udev/rules.d:/lib/udev/rules.d type -P "$1")
+    fi
+    if [[ -z $rules ]]; then
+        # complain about not found rules
+        return 1
+    fi
+
+    add_file "$rules" /usr/lib/udev/rules.d/"${rules##*/}"
+
+    while IFS=, read -ra rule; do
+        # skip empty lines, comments
+        [[ -z $rule || $rule = @(+([[:space:]])|#*) ]] && continue
+
+        for pair in "${rule[@]}"; do
+            IFS=' =' read -r key value <<< "$pair"
+            case $key in
+                RUN@({program}|+)|IMPORT{program}|ENV{REMOVE_CMD})
+                    # strip quotes
+                    binary=${value//[\"\']/}
+                    # just take the first word as the binary name
+                    binary=${binary%% *}
+                    [[ ${binary:0:1} == '$' ]] && continue
+                    if [[ ${binary:0:1} != '/' ]]; then
+                        binary=$(PATH=/usr/lib/udev:/lib/udev type -P "$binary")
+                    fi
+                    add_binary "$binary"
+                    ;;
+            esac
+        done
+    done <"$rules"
+}
+
 build() {
     local rules tool
 
-    add_binary /usr/lib/systemd/systemd-udevd
-    add_binary /usr/bin/udevadm
-    add_binary /usr/bin/systemd-tmpfiles
+    map add_binary \
+        '/usr/lib/systemd/systemd-udevd' \
+        '/usr/bin/udevadm' \
+        '/usr/bin/systemd-tmpfiles'
 
-    for rules in 50-udev-default.rules 60-persistent-storage.rules 64-btrfs.rules 80-drivers.rules; do
-        add_file "/usr/lib/udev/rules.d/$rules"
-    done
-    for tool in ata_id scsi_id; do
-        add_file "/usr/lib/udev/$tool"
-    done
+    map add_udev_rule \
+        '50-udev-default.rules' \
+        '60-persistent-storage.rules' \
+        '64-btrfs.rules' \
+        '80-drivers.rules'
+    
+    map add_file \
+        '/usr/lib/udev/ata_id' \
+        '/usr/lib/udev/scsi_id'
 
     add_runscript
 }



More information about the arch-commits mailing list