summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2008-04-14 20:12:56 +0000
committerMatthias Schwarzott <zzam@gentoo.org>2008-04-14 20:12:56 +0000
commit4c7d099007810b9270d2c2af99a5adf385511817 (patch)
treefb22b8b7d98fff1f0049b2e7bb7eca680992786e /sys-fs
parentamd64/x86 stable, security bug #215266 (diff)
downloadgentoo-2-4c7d099007810b9270d2c2af99a5adf385511817.tar.gz
gentoo-2-4c7d099007810b9270d2c2af99a5adf385511817.tar.bz2
gentoo-2-4c7d099007810b9270d2c2af99a5adf385511817.zip
Some small cleanups in udev-start.
(Portage version: 2.1.5_rc3)
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/udev/ChangeLog6
-rw-r--r--sys-fs/udev/files/udev-start-119-r1.sh48
2 files changed, 34 insertions, 20 deletions
diff --git a/sys-fs/udev/ChangeLog b/sys-fs/udev/ChangeLog
index a5e7a77b268d..98b8ffcc9441 100644
--- a/sys-fs/udev/ChangeLog
+++ b/sys-fs/udev/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-fs/udev
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.375 2008/04/03 22:14:54 zzam Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.376 2008/04/14 20:12:55 zzam Exp $
+
+ 14 Apr 2008; Matthias Schwarzott <zzam@gentoo.org>
+ files/udev-start-119-r1.sh:
+ Some small cleanups in udev-start.
*udev-120 (03 Apr 2008)
diff --git a/sys-fs/udev/files/udev-start-119-r1.sh b/sys-fs/udev/files/udev-start-119-r1.sh
index 770159db0ba4..fdac780e62a0 100644
--- a/sys-fs/udev/files/udev-start-119-r1.sh
+++ b/sys-fs/udev/files/udev-start-119-r1.sh
@@ -9,12 +9,9 @@ rc_device_tarball=${rc_device_tarball:-${RC_DEVICE_TARBALL:-NO}}
cleanup()
{
- if [ "$1" != "0" ]; then
- # cleanup to fail more gracely
- start-stop-daemon --stop --exec /sbin/udevd
- fi
-
- exit $1
+ # fail more gracely and not leave udevd running
+ start-stop-daemon --stop --exec /sbin/udevd
+ exit 1
}
# FIXME
@@ -37,7 +34,7 @@ check_kernel()
mount_dev_directory()
{
# No options are processed here as they should all be in /etc/fstab
- ebegin "Mounting /dev for udev"
+ ebegin "Mounting /dev"
if fstabinfo --quiet /dev; then
mount -n /dev
else
@@ -96,7 +93,12 @@ disable_hotplug_agent()
fi
}
-start_udev()
+root_link()
+{
+ /lib/udev/write_root_link_rule
+}
+
+start_udevd()
{
ebegin "Starting udevd"
start-stop-daemon --start --exec /sbin/udevd -- --daemon
@@ -104,7 +106,7 @@ start_udev()
}
# populate /dev with devices already found by the kernel
-populate_udev()
+populate_dev()
{
if get_bootparam "nocoldplug" ; then
rc_coldplug="NO"
@@ -188,8 +190,20 @@ check_persistent_net()
return 1
}
-check_kernel || cleanup $?
-mount_dev_directory || cleanup $?
+check_udev_works()
+{
+ # should exist on every system, else udev failed
+ if [ ! -e /dev/zero ]; then
+ eerror "Assuming udev failed somewhere, as /dev/zero does not exist."
+ return 1
+ fi
+ return 0
+}
+
+
+
+check_kernel || cleanup
+mount_dev_directory || cleanup
# Create a file so that our rc system knows it's still in sysinit.
# Existance means init scripts will not directly run.
@@ -203,11 +217,11 @@ fi
unpack_device_tarball
seed_dev
+root_link
disable_hotplug_agent
-/lib/udev/write_root_link_rule
-start_udev || cleanup $?
-populate_udev || cleanup $?
+start_udevd || cleanup
+populate_dev || cleanup
compat_volume_nodes
check_persistent_net
@@ -215,11 +229,7 @@ check_persistent_net
# trigger executing initscript when /etc is writable
IN_HOTPLUG=1 /etc/init.d/udev-postmount start >/dev/null 2>&1
-# should exist on every system, else udev failed
-if [ ! -e /dev/zero ]; then
- eerror "Assuming udev failed somewhere, as /dev/zero does not exist."
- cleanup 1
-fi
+check_udev_works || cleanup
# udev started successfully
exit 0