summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/systemd/PKGBUILD29
-rw-r--r--libre/systemd/initcpio-install-systemd3
-rw-r--r--libre/systemd/initcpio-install-udev65
3 files changed, 72 insertions, 25 deletions
diff --git a/libre/systemd/PKGBUILD b/libre/systemd/PKGBUILD
index 85072d623..bfc8c65ed 100644
--- a/libre/systemd/PKGBUILD
+++ b/libre/systemd/PKGBUILD
@@ -11,10 +11,10 @@ pkgname+=('systemd-common' 'systemd-udev')
# We split Arch's systemd-libs into systemd-$X, for the following $X:
_systemd_libs=('libsystemd' 'libudev' 'nss-systemd' 'nss-myhostname' 'nss-mymachines' 'nss-resolve')
pkgname+=("${_systemd_libs[@]/#/systemd-}")
-_tag='f1d37a5c491d85255e9996960dc2889a15022b78' # git rev-parse v${_tag_name}
-_tag_name=249.5
+_tag='620928e8026166a00d31142f0b38ba8b8e498cc4' # git rev-parse v${_tag_name}
+_tag_name=249.6
pkgver="${_tag_name/-/}"
-pkgrel=2
+pkgrel=3
pkgrel+=.parabola1
arch=('x86_64')
arch+=('i686' 'armv7h' 'ppc64le')
@@ -65,8 +65,8 @@ sha512sums=('SKIP'
'10f3b477527ec263cc6465c84d94416e356435930edc9e26844a0fd4f71e87a27fa0f91ce24b43a22cacdd2ead5e760e9d607369bc537a8da8d34021302a89a1'
'34541f1967536524329867f9f341f8d9250d9d771c60dc3e6a22ccb82fc01f103cfd3f9903329777591ccbecd2446622a5d6b3804fa0411482b85c70593ee8ad'
'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73'
- 'f599e1a35cba2c4e83e37c2299fac23ae128d8f68081283e71e1729384975dee1c4b677787f31a17890aeb98c8d2fc90405a202644290708ef9c027315022b17'
- 'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a'
+ '77582416df858e34bc05a9928ddacbe506d24946576cb7c08c7131cf2a9e059d8ff80b226684fc942bca2edf0c6d2584fa3e22939284b102b30395450784c4d3'
+ '8af5d7b1553be0cc193440dbb94683c2d2d777634dac4369716d75a1b2c2564551c836f3aee8220edfa5ef59122dea737bfe60c588637249bf67e15dba0534d0'
'70b3f1d6aaa9cd4b6b34055a587554770c34194100b17b2ef3aaf4f16f68da0865f6b3ae443b3252d395e80efabd412b763259ffb76c902b60e23b6b522e3cc8'
'6c6f579644ea2ebb6b46ee274ab15110718b0de40def8c30173ba8480b045d403f2aedd15b50ad9b96453f4ad56920d1350ff76563755bb9a80b10fa7f64f1d9'
'a50bc85061a9a16d776235099867bc1a17c17dddb74c1ecf5614c849735a9779c5e34e5ddca8ca6af4b59a40f57c08ecf219b98cab09476ddb0f110e6a35e45c'
@@ -91,11 +91,8 @@ sha512sums=('SKIP'
'28a5b3fc9e2c5cec9267bb96725c73ee77788514f140c0cf8df765af64bc8130dd02f4863d9128ac45d54256b2ab4f2b06d1a3f65660ce1dfba5727618cd1839')
_backports=(
- # coredumpctl: stop truncating information about coredump
- '473627e1c9fcdf8f819ced2bb79cb7e9ff598b0c'
-
- # Revert "core: Check unit start rate limiting earlier"
- '4fa9d8f14523982482386d398d2b2669902f2098'
+ # scope: count successful cgroup additions when delegating via D-Bus
+ 'c65417a01121301fdf7f8514ee7663d287af3a72'
)
_reverts=(
@@ -139,12 +136,12 @@ build() {
# * Cloudflare (https://1.1.1.1/)
# * Quad9 without filtering (https://www.quad9.net/)
# * Google (https://developers.google.com/speed/public-dns/)
- 1.1.1.1
- 9.9.9.10
- 8.8.8.8
- 2606:4700:4700::1111
- 2620:fe::10
- 2001:4860:4860::8888
+ 1.1.1.1#cloudflare-dns.com
+ 9.9.9.10#dns.quad9.net
+ 8.8.8.8#dns.google
+ 2606:4700:4700::1111#cloudflare-dns.com
+ 2620:fe::10#dns.quad9.net
+ 2001:4860:4860::8888#dns.google
)
if [ "$CARCH" = "armv7h" ]; then
diff --git a/libre/systemd/initcpio-install-systemd b/libre/systemd/initcpio-install-systemd
index 05ccb904f..f53ffb639 100644
--- a/libre/systemd/initcpio-install-systemd
+++ b/libre/systemd/initcpio-install-systemd
@@ -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.
diff --git a/libre/systemd/initcpio-install-udev b/libre/systemd/initcpio-install-udev
index 31d982712..713fbf4cc 100644
--- a/libre/systemd/initcpio-install-udev
+++ b/libre/systemd/initcpio-install-udev
@@ -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
}