[arch-commits] Commit in udev/trunk (4 files)
Thomas Bächler
thomas at archlinux.org
Sat Mar 7 22:06:47 UTC 2009
Date: Saturday, March 7, 2009 @ 17:06:47
Author: thomas
Revision: 29314
Move the /lib/udev/devices/ files from the post_install to the PKGBUILD and make sure static devices are never removed (the stock rule from udev does not work)
Added:
udev/trunk/ignore-remove.sh
Modified:
udev/trunk/PKGBUILD
udev/trunk/arch-udev-rules.patch
udev/trunk/udev.install
-----------------------+
PKGBUILD | 31 +++++++++++----
arch-udev-rules.patch | 94 ++++++++++++++++++++++++++----------------------
ignore-remove.sh | 13 ++++++
udev.install | 26 -------------
4 files changed, 87 insertions(+), 77 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2009-03-07 21:10:47 UTC (rev 29313)
+++ PKGBUILD 2009-03-07 22:06:47 UTC (rev 29314)
@@ -24,15 +24,16 @@
options=(!makeflags)
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2
81-arch.rules load-modules.sh resolve-modalias.c cdsymlinks.sh root-link.sh
- arch-udev-rules.patch readme-udev-arch.txt)
+ arch-udev-rules.patch readme-udev-arch.txt ignore-remove.sh)
md5sums=('7e705e237d29734c77bc26f6ccbc4594'
'1aa06a1133e102dd3567331838913246'
'f4951f61438d69894b728212dac7318b'
'e0d7ab73ec42eb81947daf23e224c0fb'
'8424b78e9dd772e75b4ef90814807815'
'2d6dc6842464f107bccc68cd505a6c31'
- '80b7e3697d19360c9783d612a2fb16fc'
- '7fc6d33bb218e752302eef0a80ff0a89')
+ 'f3b715e6dea49ffe40b1b18083376096'
+ '7fc6d33bb218e752302eef0a80ff0a89'
+ '35fa97500243a79b2370fa4684828e69')
build() {
cd $srcdir/$pkgname-$pkgver
@@ -55,16 +56,13 @@
install -D -m755 $srcdir/cdsymlinks.sh $pkgdir/lib/udev/cdsymlinks.sh
# install root-link.sh
install -D -m755 $srcdir/root-link.sh $pkgdir/lib/udev/root-link.sh
+ # install ignore-remove.sh
+ install -D -m755 $srcdir/ignore-remove.sh $pkgdir/lib/udev/ignore-remove.sh
# install instructions
# NOTE: We should delete this file
install -D -m644 $srcdir/readme-udev-arch.txt $pkgdir/usr/share/udev/readme-udev-arch.txt
- # add devices dir
- mkdir $pkgdir/lib/udev/devices
- # create shm and pts directory
- mkdir $pkgdir/lib/udev/devices/pts
- mkdir $pkgdir/lib/udev/devices/shm
# disable error logging to prevent startup failures printed to vc on boot
sed -i -e 's|udev_log="err"|udev_log="0"|g' $pkgdir/etc/udev/udev.conf
# install additional rules files
@@ -86,4 +84,21 @@
for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko' -exec basename {} .ko \;); do
echo "blacklist $mod" >> $pkgdir/etc/modprobe.d/framebuffer_blacklist
done
+
+ # create static devices in /lib/udev/devices/
+ mkdir ${pkgdir}/lib/udev/devices
+ mkdir ${pkgdir}/lib/udev/devices/pts
+ mkdir ${pkgdir}/lib/udev/devices/shm
+
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1 || return 1
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3 || return 1
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/zero c 1 5 || return 1
+
+ ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd || return 1
+
+ ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin || return 1
+ ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout || return 1
+ ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr || return 1
+
+ ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core || return 1
}
Modified: arch-udev-rules.patch
===================================================================
--- arch-udev-rules.patch 2009-03-07 21:10:47 UTC (rev 29313)
+++ arch-udev-rules.patch 2009-03-07 22:06:47 UTC (rev 29314)
@@ -1,46 +1,6 @@
-diff -Nur rules.d/60-persistent-storage.rules rules.d.arch/60-persistent-storage.rules
---- rules.d/60-persistent-storage.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/60-persistent-storage.rules 2008-09-12 16:00:50.000000000 +0200
-@@ -10,7 +10,7 @@
- SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
- # skip rules for inappropriate block devices
--KERNEL=="ram*|fd*|nbd*|gnbd*|dm-*|md*|btibm*", GOTO="persistent_storage_end"
-+KERNEL=="ram*|fd*|nbd*|gnbd*|md*|btibm*", GOTO="persistent_storage_end"
-
- # never access non-cdrom removable ide devices, the drivers are causing event loops on open()
- KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-diff -Nur rules.d/80-drivers.rules rules.d.arch/80-drivers.rules
---- rules.d/80-drivers.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/80-drivers.rules 2008-09-12 16:01:56.000000000 +0200
-@@ -2,15 +2,16 @@
-
- ACTION!="add", GOTO="drivers_end"
-
--DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe -b $env{MODALIAS}"
--SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -b tifm_sd"
--SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe -b tifm_ms"
--SUBSYSTEM=="memstick", RUN+="/sbin/modprobe -b --all ms_block mspro_block"
--SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -b mmc_block"
--SUBSYSTEM=="i2o", RUN+="/sbin/modprobe -b i2o_block"
--SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch"
--SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -b sg"
--SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe -b ppdev"
-+DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
-+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
-+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
-+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
-+SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-+SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
-+SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/lib/udev/load-modules.sh ch"
-+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
-+SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
-
- LABEL="drivers_end"
-
---- rules.d/50-udev-default.rules~ 2009-01-15 17:04:59.000000000 +0100
-+++ rules.d/50-udev-default.rules 2009-03-07 13:23:42.000000000 +0100
+diff -Nur rules.d/50-udev-default.rules rules.d.arch/50-udev-default.rules
+--- rules.d/50-udev-default.rules 2009-03-07 22:22:48.200242883 +0100
++++ rules.d.arch/50-udev-default.rules 2009-03-07 22:23:26.134434516 +0100
@@ -12,10 +12,10 @@
KERNEL=="console", MODE="0600"
@@ -86,3 +46,51 @@
# block-releated
KERNEL=="sch[0-9]*", GROUP="disk"
+@@ -116,5 +116,4 @@
+ KERNEL=="cpad[0-9]*", NAME="usb/%k"
+
+ # do not delete static device nodes
+-ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove"
+-ACTION=="remove", NAME=="", TEST=="/lib/udev/devices/%k", OPTIONS+="ignore_remove"
++ACTION=="remove", PROGRAM="ignore-remove.sh %r", OPTIONS+="ignore_remove"
+diff -Nur rules.d/60-persistent-storage.rules rules.d.arch/60-persistent-storage.rules
+--- rules.d/60-persistent-storage.rules 2009-03-07 22:22:48.200242883 +0100
++++ rules.d.arch/60-persistent-storage.rules 2009-03-07 22:22:54.757744454 +0100
+@@ -10,7 +10,7 @@
+ SUBSYSTEM!="block", GOTO="persistent_storage_end"
+
+ # skip rules for inappropriate block devices
+-KERNEL=="ram*|fd*|nbd*|gnbd*|dm-*|md*|btibm*", GOTO="persistent_storage_end"
++KERNEL=="ram*|fd*|nbd*|gnbd*|md*|btibm*", GOTO="persistent_storage_end"
+
+ # never access non-cdrom removable ide devices, the drivers are causing event loops on open()
+ KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
+diff -Nur rules.d/80-drivers.rules rules.d.arch/80-drivers.rules
+--- rules.d/80-drivers.rules 2009-03-07 22:22:48.200242883 +0100
++++ rules.d.arch/80-drivers.rules 2009-03-07 22:22:54.757744454 +0100
+@@ -2,15 +2,16 @@
+
+ ACTION!="add", GOTO="drivers_end"
+
+-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe -b $env{MODALIAS}"
+-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -b tifm_sd"
+-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe -b tifm_ms"
+-SUBSYSTEM=="memstick", RUN+="/sbin/modprobe -b --all ms_block mspro_block"
+-SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -b mmc_block"
+-SUBSYSTEM=="i2o", RUN+="/sbin/modprobe -b i2o_block"
+-SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch"
+-SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -b sg"
+-SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe -b ppdev"
++DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
++SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
++SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
++SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
++SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
++SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
++SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
++SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/lib/udev/load-modules.sh ch"
++SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
++SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
+
+ LABEL="drivers_end"
+
Added: ignore-remove.sh
===================================================================
--- ignore-remove.sh (rev 0)
+++ ignore-remove.sh 2009-03-07 22:06:47 UTC (rev 29314)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+if [ -z "$1" ]; then
+ exit 1
+fi
+
+for f in ${DEVNAME} ${DEVLINKS}; do
+ if [ -e "/lib/udev/devices/${f#$1}" ]; then
+ exit 0
+ fi
+done
+
+exit 1
Property changes on: udev/trunk/ignore-remove.sh
___________________________________________________________________
Added: svn:executable
+ *
Modified: udev.install
===================================================================
--- udev.install 2009-03-07 21:10:47 UTC (rev 29313)
+++ udev.install 2009-03-07 22:06:47 UTC (rev 29314)
@@ -1,20 +1,6 @@
# arg 1: the new package version
# arg 2: the old package version
-_make_udev_devices() {
- [ -c /lib/udev/devices/console ] || mknod -m 0600 /lib/udev/devices/console c 5 1
- [ -c /lib/udev/devices/null ] || mknod -m 0666 /lib/udev/devices/null c 1 3
- [ -c /lib/udev/devices/zero ] || mknod -m 0666 /lib/udev/devices/zero c 1 5
-
- [ -L /lib/udev/devices/fd ] || ln -snf /proc/self/fd /lib/udev/devices/fd
-
- [ -L /lib/udev/devices/fd/stdin ] || ln -snf /proc/self/fd/0 /lib/udev/devices/stdin
- [ -L /lib/udev/devices/fd/stdout ] || ln -snf /proc/self/fd/1 /lib/udev/devices/stdout
- [ -L /lib/udev/devices/fd/stderr ] || ln -snf /proc/self/fd/2 /lib/udev/devices/stderr
-
- [ -L /lib/udev/devices/core ] || ln -snf /proc/kcore /lib/udev/devices/core
-}
-
post_upgrade() {
if [ "$(vercmp $2 100)" -lt 0 ]; then
echo "ATTENTION UDEV:"
@@ -25,9 +11,6 @@
echo "They are located in /etc/udev/readme-udev-arch.txt"
echo "----------"
fi
- if [ "$(vercmp $2 135-2)" -lt 0 ]; then
- _make_udev_devices
- fi
}
post_install() {
@@ -43,13 +26,4 @@
umount ${ROOTDIR}
rmdir ${ROOTDIR}
fi
- _make_udev_devices
}
-
-pre_remove() {
- rm /lib/udev/devices/{console,null,zero,fd,stdin,stdout,stderr,core} &> /dev/null
-}
-
-op=$1
-shift
-$op $*
More information about the arch-commits
mailing list