The following fix seems to create the udev rule for me:
diff -u udev-167/debian/udev.init udev-167/debian/udev.init
--- udev-167/debian/udev.init
+++ udev-167/debian/udev.init
@@ -88,19 +88,6 @@
sleep 60
}
-create_dev_root_rule() {
- local udevroot="$1"
- [ -e $udevroot/rules.d/61-dev-root-link.rules ] && return 0
-
- eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/ \
- || true)
- [ "$ROOT_MAJOR" -a "$ROOT_MINOR" ] || return 0
-
- echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'",
ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' \
- > $udevroot/root-link-rule
- mv $udevroot/root-link-rule $udevroot/rules.d/61-dev-root-link.rules
-}
-
##############################################################################
[ -x /sbin/udevd ] || exit 0
@@ -182,13 +169,7 @@
log_end_msg $?
fi
- if [ -d /run/udev/ ]; then
- mkdir -p /run/udev/rules.d/
- create_dev_root_rule /run/udev/
- else
- mkdir -p $udev_root/.udev/rules.d/
- create_dev_root_rule $udev_root/.udev/
- fi
+ /lib/udev/write_dev_root_rule
log_action_begin_msg "Synthesizing initial hotplug events"
if udevadm trigger --action=add; then
diff -u udev-167/debian/changelog udev-167/debian/changelog
--- udev-167/debian/changelog
+++ udev-167/debian/changelog
@@ -1,3 +1,9 @@
+udev (167-4) unstable; urgency=low
+
+ * Fix 621738, Closes: #621738
+
+ -- Tollef Fog Heen <[email protected]> Fri, 22 Apr 2011 15:25:38 +0200
+
udev (167-3) unstable; urgency=high
* postinst: do not move /dev/.udev/ to /run/udev/ when upgrading a chroot.
diff -u udev-167/debian/rules udev-167/debian/rules
--- udev-167/debian/rules
+++ udev-167/debian/rules
@@ -112,6 +112,7 @@
cp rules/debian/*.rules $D/lib/udev/rules.d/
perl extra/subst_lib_name $D
cp extra/links.conf $D/etc/udev/
+ install --mode=755 debian/write_dev_root_rule $D/lib/udev/
install --mode=644 extra/blacklist.conf extra/fbdev-blacklist.conf \
$D/etc/modprobe.d/
only in patch2:
unchanged:
--- udev-167.orig/debian/write_dev_root_rule
+++ udev-167/debian/write_dev_root_rule
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+if [ -d /run/udev/ ]; then
+ mkdir -p /run/udev/rules.d/
+ udevroot=/run/udev/
+else
+ mkdir -p $udev_root/.udev/rules.d/
+ udevroot=$udev_root/.udev/
+fi
+
+[ -e $udevroot/rules.d/61-dev-root-link.rules ] && return 0
+
+eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/ ||
true)
+[ "$ROOT_MAJOR" -a "$ROOT_MINOR" ] || return 0
+
+echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'",
ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' \
+ > $udevroot/root-link-rule
+mv $udevroot/root-link-rule $udevroot/rules.d/61-dev-root-link.rules
only in patch2:
unchanged:
--- udev-167.orig/init/udev.service.in
+++ udev-167/init/udev.service.in
@@ -8,3 +8,4 @@
[Service]
Type=notify
ExecStart=@sbindir@/udevd
+ExecStartPre=@libexecdir@/write_dev_root_rule
--
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]