[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