summaryrefslogtreecommitdiff
path: root/hooks
diff options
context:
space:
mode:
authormaximilian attems <max@stro.at>2007-10-04 12:04:51 +0200
committermaximilian attems <max@stro.at>2007-10-04 12:04:51 +0200
commit89ba49b87ef14314223222d751e01373b0ec08a6 (patch)
tree413401c9c40ebdad638686ccfced5c3806c76a17 /hooks
parent1c2d02dc513346876464434ae422d499642e6a16 (diff)
downloadinitramfs-tools-89ba49b87ef14314223222d751e01373b0ec08a6.tar.gz
initramfs-tools-89ba49b87ef14314223222d751e01373b0ec08a6.zip
hooks/udevhelper: Adding all /lib/udev on initramfs if missing.
Due to overly strict errexit usage by udev hook a lot might be missing. This is an potential Etch -> Lenny upgrade issue. (closes: 431291) fixes boot failure on UUID and LABEL root for those. it seems much better to add this stupid hook than to pump udev dep. Thanks Michael Prokop <mika@grml.org> for report.
Diffstat (limited to 'hooks')
-rwxr-xr-xhooks/udevhelper37
1 files changed, 37 insertions, 0 deletions
diff --git a/hooks/udevhelper b/hooks/udevhelper
new file mode 100755
index 0000000..44e1d5d
--- /dev/null
+++ b/hooks/udevhelper
@@ -0,0 +1,37 @@
+#!/bin/sh
+# FIXME: kill after lenny release
+# needed for UUID root and partial etch upgrades
+#
+PREREQ="udev"
+
+prereqs()
+{
+ echo "$PREREQ"
+}
+
+case $1 in
+# get pre-requisites
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+. /usr/share/initramfs-tools/hook-functions
+
+# should never happen
+if [ ! -e $DESTDIR/lib/udev/ ]; then
+ exit 0
+fi
+
+# fixed udev hook
+if [ -e $DESTDIR/lib/udev/ ] && [ -e $DESTDIR/lib/udev/hotplug.functions ]; then
+ exit 0
+fi
+
+cp /lib/udev/hotplug.functions $DESTDIR/lib/udev/
+copy_exec /lib/udev/ide.agent /lib/udev/
+for program in /lib/udev/*_id; do
+ copy_exec $program /lib/udev/
+done
+exit 0