rpms/udev/devel start_udev, 1.67, 1.68 udev-post.init, 1.2, 1.3 udev.spec, 1.234, 1.235
Harald Hoyer (harald)
fedora-extras-commits at redhat.com
Thu Mar 13 13:00:48 UTC 2008
- Previous message (by thread): rpms/selinux-policy/devel policy-20071130.patch, 1.100, 1.101 selinux-policy.spec, 1.631, 1.632
- Next message (by thread): rpms/squid/devel .cvsignore, 1.30, 1.31 sources, 1.32, 1.33 squid-3.0.STABLE1-location.patch, 1.1, 1.2 squid.init, 1.10, 1.11 squid.spec, 1.94, 1.95
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: harald
Update of /cvs/pkgs/rpms/udev/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv23342
Modified Files:
start_udev udev-post.init udev.spec
Log Message:
* Thu Mar 13 2008 Harald Hoyer <harald at redhat.com> 118-6
- moved all generated files to /var/lib/udev
(also 70-persistent-cd.rules 70-persistent-net.rules)
- added a caching mechanism for MAKEDEV (saves some seconds on startup)
- added trigger for selinux-policy and MAKEDEV to remove the udev cache files
Index: start_udev
===================================================================
RCS file: /cvs/pkgs/rpms/udev/devel/start_udev,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- start_udev 20 Feb 2008 11:07:27 -0000 1.67
+++ start_udev 13 Mar 2008 13:00:09 -0000 1.68
@@ -81,14 +81,34 @@
[ -d $udev_root/shm ] || mkdir -m 0755 $udev_root/shm
[ -a /dev/MAKEDEV ] || ln -s $MAKEDEV /dev/MAKEDEV;
- if [ -x $MAKEDEV ]; then
+ [ -d /dev/.udev/makedev.d ] || mkdir -p /dev/.udev/makedev.d
+ USE_MD5="false"
+ [ -x /usr/bin/md5sum ] && USE_MD5="true"
+ if [ -x "$MAKEDEV" ]; then
for i in /etc/udev/makedev.d/*.nodes; do
- if [ -f "$i" ]; then
- ( sed -e 's,#.*,,g' "$i" | \
- xargs_simple -n 100 $MAKEDEV -x )
+ if [ -f "$i" ]; then
+ # use a little caching to speedup things
+ if [ "$USE_MD5" == "true" ]; then
+ md5=$(/usr/bin/md5sum "$i"|(read a b; echo $a))
+ if [ -f "/var/lib/udev/makedev.d/${md5}.sh" ];then
+ md5file="/var/lib/udev/makedev.d/${md5}.sh"
+ else
+ md5file="/dev/.udev/makedev.d/${md5}.sh"
+ fi
+ if [ ! -f "$md5file" ]; then
+ ( sed -e 's,#.*,,g' "$i" | \
+ xargs_simple -n 100 $MAKEDEV -x -a -S ) \
+ > "$md5file"
+ fi
+ . "$md5file" >/dev/null 2>&1
+ else
+ ( sed -e 's,#.*,,g' "$i" | \
+ xargs_simple -n 100 $MAKEDEV -x )
+ fi
fi
done
fi
+
for devdir in /etc/udev/devices /lib/udev/devices; do
[ -d "$devdir" ] || continue
pushd $devdir &> "$udev_root/null"
@@ -185,6 +205,14 @@
if [ -f "/sys/class/tty/console/uevent" ]; then
# trigger the sorted events
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
+
+ mkdir -p /dev/.udev/rules.d/
+ for i in /var/lib/udev/rules.d/*.rules; do
+ if [ -f "$i" ]; then
+ cp "$i" /dev/.udev/rules.d/ >/dev/null 2>&1
+ fi
+ done
+
/sbin/udevd -d
ret=$[$ret + $?]
Index: udev-post.init
===================================================================
RCS file: /cvs/pkgs/rpms/udev/devel/udev-post.init,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- udev-post.init 20 Feb 2008 11:26:02 -0000 1.2
+++ udev-post.init 13 Mar 2008 13:00:10 -0000 1.3
@@ -4,11 +4,12 @@
#
# Authors: Harald Hoyer <harald at redhat.com>
#
-# chkconfig: 345 26 75
+# chkconfig: 12345 26 75
# description: Moves the generated persistent udev rules to /etc/udev/rules.d
#
### BEGIN INIT INFO
-# Default-Start: 345
+# Default-Start: 12345
+# Default-Stop: 0 6
# Required-Start: $local_fs
# Short-Description: Moves the generated persistent udev rules to /etc/udev/rules.d
# Description: Moves the generated persistent udev rules to /etc/udev/rules.d
@@ -20,15 +21,32 @@
# See how we were called.
case "$1" in
start|reload)
- STRING=$"Adding udev persistent rules"
-
+ STRING=$"Adding udev makedev cache file"
+ # copy the MAKEDEV shell scripts generated before / was mounted read-write
+ for file in /dev/.udev/makedev.d/*; do
+ if [ -f "$file" ]; then
+ echo -n $STRING
+ cp "$file" /var/lib/udev/makedev.d/
+ rc=$?
+ rm -f "$file"
+ if [ "$rc" -eq "0" ]; then
+ success "$STRING"
+ echo
+ elif [ "$rc" -eq "1" ]; then
+ failure "$STRING"
+ echo
+ fi
+ fi
+ done
+
+ STRING=$"Adding udev persistent rule"
# copy the rules generated before / was mounted read-write
for file in /dev/.udev/tmp-rules--*; do
dest=${file##*tmp-rules--}
# check, if anything is todo
- [ "$dest" = '*' ] && exit 0
+ [ "$dest" = '*' ] && break
echo -n $STRING
- cat $file >> /etc/udev/rules.d/$dest
+ cat $file >> /var/lib/udev/rules.d/$dest && cp /var/lib/udev/rules.d/$dest /dev/.udev/rules.d/
rc=$?
rm -f $file
if [ "$rc" -eq "0" ]; then
@@ -43,13 +61,41 @@
exit 0
;;
stop)
+ STRING=$"Generating udev makedev cache file"
+ MAKEDEV="/sbin/MAKEDEV"
+ USE_MD5="false"
+ [ -x /usr/bin/md5sum ] && USE_MD5="true"
+ if [ "$USE_MD5" == "true" -a -x "$MAKEDEV" ]; then
+ for i in /etc/udev/makedev.d/*.nodes; do
+ if [ -f "$i" ]; then
+ # use a little caching to speedup things
+ md5=$(/usr/bin/md5sum "$i"|(read a b; echo $a))
+ md5file="/var/lib/udev/makedev.d/${md5}.sh"
+ if [ ! -f "$md5file" ]; then
+ echo -n $STRING
+ ( sed -e 's,#.*,,g' "$i" | \
+ xargs $MAKEDEV -x -a -S ) \
+ > "$md5file"
+ rc=$?
+ if [ "$rc" -eq "0" ]; then
+ success "$STRING"
+ echo
+ elif [ "$rc" -eq "1" ]; then
+ failure "$STRING"
+ echo
+ fi
+ fi
+ fi
+ done
+ fi
+ rm -f /var/lock/subsys/udev-post
exit 0
;;
status)
exit 0
;;
*)
- echo $"Usage: $0 {start}"
+ echo $"Usage: $0 {start|stop|reload}"
exit 1
esac
exit 0
Index: udev.spec
===================================================================
RCS file: /cvs/pkgs/rpms/udev/devel/udev.spec,v
retrieving revision 1.234
retrieving revision 1.235
diff -u -r1.234 -r1.235
--- udev.spec 20 Feb 2008 17:33:26 -0000 1.234
+++ udev.spec 13 Mar 2008 13:00:10 -0000 1.235
@@ -6,7 +6,7 @@
Summary: A userspace implementation of devfs
Name: udev
Version: 118
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2
Group: System Environment/Base
Provides: udev-persistent = %{version}-%{release}
@@ -241,6 +241,10 @@
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
install -m 0755 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/udev-post
+mkdir -p $RPM_BUILD_ROOT/var/lib/udev/
+mkdir -p $RPM_BUILD_ROOT/var/lib/udev/makedev.d
+mkdir -p $RPM_BUILD_ROOT/var/lib/udev/rules.d
+
%preun
if [ "$1" = 0 -a -f %{_initrddir}/udev ]; then
if [ -x /sbin/pidof ]; then
@@ -264,6 +268,12 @@
/sbin/udevd -d
fi
fi
+
+for i in 70-persistent-cd.rules 70-persistent-net.rules; do
+ [ -f "/etc/udev/rules.d/$i" ] && ( mv /etc/udev/rules.d/$i /var/lib/udev/rules.d >/dev/null 2>&1 )
+done
+
+/sbin/chkconfig --del udev-post >/dev/null 2>&1 || :
/sbin/chkconfig --add udev-post
exit 0
@@ -281,6 +291,12 @@
fi
exit 0
+%triggerin -- selinux-policy
+rm -f /var/lib/udev/makenode.d/* >/dev/null 2>&1 || :
+
+%triggerin -- MAKEDEV
+rm -f /var/lib/udev/makenode.d/* >/dev/null 2>&1 || :
+
%post -n libvolume_id -p /sbin/ldconfig
%postun -n libvolume_id -p /sbin/ldconfig
@@ -341,6 +357,10 @@
%attr(0644,root,root) %{_mandir}/man8/cdrom_id*.8*
%attr(0644,root,root) %{_mandir}/man8/create_floppy_devices*.8*
+%dir %attr(0755,root,root) /var/lib/udev
+%dir %attr(0755,root,root) /var/lib/udev/makedev.d
+%dir %attr(0755,root,root) /var/lib/udev/rules.d
+
# Deprecated, but keep the ownership
%ghost %dir %{_sysconfdir}/udev/scripts/
%ghost %dir %{_sysconfdir}/udev/devices/
@@ -372,6 +392,12 @@
%{_libdir}/pkgconfig/libvolume_id.pc
%changelog
+* Thu Mar 13 2008 Harald Hoyer <harald at redhat.com> 118-6
+- moved all generated files to /var/lib/udev
+ (also 70-persistent-cd.rules 70-persistent-net.rules)
+- added a caching mechanism for MAKEDEV (saves some seconds on startup)
+- added trigger for selinux-policy and MAKEDEV to remove the udev cache files
+
* Wed Feb 20 2008 Harald Hoyer <harald at redhat.com> 118-4
- made symlinks relative (rhbz#432878)
- removed the backgrounding of node creation (rhbz#381461)
- Previous message (by thread): rpms/selinux-policy/devel policy-20071130.patch, 1.100, 1.101 selinux-policy.spec, 1.631, 1.632
- Next message (by thread): rpms/squid/devel .cvsignore, 1.30, 1.31 sources, 1.32, 1.33 squid-3.0.STABLE1-location.patch, 1.1, 1.2 squid.init, 1.10, 1.11 squid.spec, 1.94, 1.95
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list