summaryrefslogtreecommitdiff
path: root/nonsystemd/mkinitcpio
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2021-11-03 17:11:34 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2021-11-05 16:21:06 -0400
commit952855bbc5aae73162a6dc2908883615cb39e41e (patch)
treeaf917177467998594ce487050f4621055e8332cf /nonsystemd/mkinitcpio
parent4433d8a4ceba42f645be784f43dfc99b198e19ac (diff)
downloadabslibre-952855bbc5aae73162a6dc2908883615cb39e41e.tar.gz
abslibre-952855bbc5aae73162a6dc2908883615cb39e41e.tar.bz2
abslibre-952855bbc5aae73162a6dc2908883615cb39e41e.zip
[mkinitcpio][eudev]: move systemd hook function 'add_dev_rule'~ from 'eudev' to 'mkinitcpio'
this commit reverts the previous changes to the 'eudev' PKGBUILD 9001-udev.patch was originally made against the archlinux mkinitcpio project; so it probably should be in the mkinitcpio package # https://labs.parabola.nu/issues/3121 # https://github.com/archlinux/mkinitcpio/pull/54 # https://github.com/archlinux/mkinitcpio/commit/9ee1333a5f3302d7ddb004cf0909c94b4cff60ba.diff
Diffstat (limited to 'nonsystemd/mkinitcpio')
-rw-r--r--nonsystemd/mkinitcpio/9001-udev.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/nonsystemd/mkinitcpio/9001-udev.patch b/nonsystemd/mkinitcpio/9001-udev.patch
new file mode 100644
index 000000000..0de1067a4
--- /dev/null
+++ b/nonsystemd/mkinitcpio/9001-udev.patch
@@ -0,0 +1,52 @@
+$ curl https://github.com/archlinux/mkinitcpio/commit/9ee1333a5f3302d7ddb004cf0909c94b4cff60ba.diff
+diff --git a/functions b/functions
+index 9539a60..f95fb92 100644
+--- a/functions
++++ b/functions
+@@ -625,6 +625,46 @@ add_binary() {
+ return 0
+ }
+
++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 "$rules")
++ 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"
++}
++
+ parse_config() {
+ # parse key global variables set by the config file.
+