summaryrefslogtreecommitdiffstats
path: root/debian/extra
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:28:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:28:35 +0000
commitbdff5fe05d3bdaf7a930992152396a37d34b66ee (patch)
tree4d11613734dca3dff52d2ee46070771566f55d6b /debian/extra
parentMerging upstream version 256.6. (diff)
downloadsystemd-bdff5fe05d3bdaf7a930992152396a37d34b66ee.tar.xz
systemd-bdff5fe05d3bdaf7a930992152396a37d34b66ee.zip
Merging debian version 256.6-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/extra')
-rwxr-xr-xdebian/extra/initramfs-tools/hooks/udev20
1 files changed, 19 insertions, 1 deletions
diff --git a/debian/extra/initramfs-tools/hooks/udev b/debian/extra/initramfs-tools/hooks/udev
index 5a860e1..06f3c5e 100755
--- a/debian/extra/initramfs-tools/hooks/udev
+++ b/debian/extra/initramfs-tools/hooks/udev
@@ -46,11 +46,29 @@ for rules in 50-firmware.rules 50-udev-default.rules \
fi
done
+# See if chzdev can filter out generated rules, per LP: #2044104
+ZDEV_FILTERING=0
+if [ -e /usr/sbin/chzdev ] && \
+ dpkg --compare-versions "$(dpkg-query -f '${Version}' -W s390-tools 2> /dev/null)" '>=' '2.33.0';
+then
+ ZDEV_FILTERING=1
+fi
+
# now copy all custom udev rules which don't have an equivalent in /usr/lib (e. g.
# 70-persistent-net.rules or similar); They might contain network names or
# other bits which are relevant for the initramfs.
for rules in /etc/udev/rules.d/*.rules; do
- if [ -e "$rules" ] && [ ! -e "/usr/lib/${rules#/etc/}" ]; then
+ if [ ! -e "$rules" ]; then
+ continue
+ fi
+
+ # Skip rules generated by chzdev as they are handled by its own hook.
+ # See LP: #2044104
+ if [ $ZDEV_FILTERING -eq 1 ] && /usr/sbin/chzdev --is-owner "$rules"; then
+ continue;
+ fi
+
+ if [ ! -e "/usr/lib/${rules#/etc/}" ]; then
cp -p "$rules" "$DESTDIR/usr/lib/udev/rules.d/"
fi
done