- switched back to udevstart and use active /dev/.udev/queue waiting in

start_udev
- removed support for old kernels
- refined some udev.rules
This commit is contained in:
Harald Hoyer 2005-12-15 11:46:52 +00:00
commit b088d50d80
2 changed files with 41 additions and 21 deletions

View file

@ -189,22 +189,22 @@ ide_scan() {
return 0
}
event_replay () {
if [ -f "/sys/class/tty/console/uevent" ]; then
# trigger the sorted events
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
/sbin/udevd -w -d
return $?
else
sysctl -w kernel.hotplug="/sbin/udevsend" >/dev/null 2>&1
scsi_replay > "$udev_root/null" 2>&1
ide_scan > "$udev_root/null" 2>&1
udevd -d
/sbin/udevstart
return $?
fi
}
wait_for_queue() {
loop=20
while test ! -d /dev/.udev/queue; do
usleep 100000;
test "$loop" -gt 0 || return 1
loop=$(($loop - 1))
done
loop=200
while test -d /dev/.udev/queue; do
usleep 100000;
test "$loop" -gt 0 || return 1
loop=$(($loop - 1))
done
return 0
}
export ACTION=add
prog=udev
@ -239,7 +239,21 @@ LANG=C awk "\$2 == \"${udev_root%/}\" && \$3 == \"tmpfs\" { exit 1 }" /proc/moun
}
make_extra_nodes
kill_udevd > "$udev_root/null" 2>&1
event_replay
if [ -f "/sys/class/tty/console/uevent" ]; then
# trigger the sorted events
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
/sbin/udevd -d
ret=$[$ret + $?]
/sbin/udevstart
ret=$[$ret + $?]
wait_for_queue
ret=$[$ret + $?]
else
echo -n " kernel too old for this udev version "
/sbin/udevd -d
ret=10
fi
ret=$[$ret + $?]
[ $ret -eq 0 ] && success $"$STRING" || failure $"$STRING"
echo

View file

@ -5,7 +5,7 @@
Summary: A userspace implementation of devfs
Name: udev
Version: 077
Release: 1
Release: 2
License: GPL
Group: System Environment/Base
Provides: udev-persistent = 0:%{version}-%{release}
@ -32,7 +32,7 @@ Source24: path_id
Source30: firmware_helper.c
Patch2: udev-075-daemon.patch
Patch2: udevstart2.patch
Patch3: udev-075-selinux.patch
@ -51,8 +51,8 @@ BuildRequires: pam-devel glib2-devel bison
Requires: pam
%description
udev is a implementation of devfs in userspace using sysfs and
/sbin/hotplug. It requires a 2.6 kernel to run properly.
The udev package contains an implementation of devfs in
userspace using sysfs and netlink.
Requires: sed
@ -60,7 +60,7 @@ Requires: sed
%prep
%setup -q
%patch2 -p1 -b .waitdaemon
%patch2 -p1 -b .udevstart2
%patch3 -p1 -b .selinux
cp %{SOURCE21} .
@ -303,6 +303,12 @@ rm -rf $RPM_BUILD_ROOT
%attr(0644,root,root) %{_mandir}/man8/vol_id*.8*
%changelog
* Thu Dec 15 2005 Harald Hoyer <harald@redhat.com> - 077-2
- switched back to udevstart and use active /dev/.udev/queue waiting
in start_udev
- removed support for old kernels
- refined some udev.rules
* Mon Dec 13 2005 Harald Hoyer <harald@redhat.com> - 077-1
- version 077
- patch to include udevstart2 in udevd and delay daemonize until queue is empty