summaryrefslogtreecommitdiff
path: root/core/udev
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-08-04 23:14:34 +0000
committerroot <root@rshg054.dnsready.net>2011-08-04 23:14:34 +0000
commit7e5cd77730015792e26338edcc137acf3f1bd2ae (patch)
tree7e8d59d2d1f570618635d8136647e0903f03bc0b /core/udev
parent8c2359e2541f9d1b11443b49d8ea502b3ffea39c (diff)
Thu Aug 4 23:14:34 UTC 2011
Diffstat (limited to 'core/udev')
-rw-r--r--core/udev/81-arch.rules14
-rw-r--r--core/udev/PKGBUILD82
-rw-r--r--core/udev/bluetooth.patch36
-rw-r--r--core/udev/udev.install69
4 files changed, 116 insertions, 85 deletions
diff --git a/core/udev/81-arch.rules b/core/udev/81-arch.rules
index cd4e3e9b4..71f1a883b 100644
--- a/core/udev/81-arch.rules
+++ b/core/udev/81-arch.rules
@@ -26,8 +26,7 @@ KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
# permissions for SCSI CD devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROUP="optical"
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
+SUBSYSTEMS=="scsi", KERNEL=="s[rg][0-9]*", ATTRS{type}=="5", GROUP="optical"
# permissions for removable devices like cardreaders or sticks
KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage"
@@ -61,23 +60,12 @@ KERNEL=="radio[0-9]*", GROUP="video"
KERNEL=="video0", SYMLINK+="video"
KERNEL=="vtx0", SYMLINK+="vtx"
-# video devices
-### xorg resets those permissions, adjust your xorg.conf!
-KERNEL=="3dfx*", GROUP="video"
-KERNEL=="fb[0-9]*", GROUP="video"
-
# misc
KERNEL=="sgi_fetchop", MODE="0666"
KERNEL=="sonypi", MODE="0666"
# USB devices
KERNEL=="legousbtower*", MODE="0666"
-
-# kbd devices
-KERNEL=="kbd", MODE="0664"
-
-# miscellaneous
-KERNEL=="rtc|rtc0", GROUP="audio", MODE="0664"
#######################################
# Permissions and Symlinks - end
#######################################
diff --git a/core/udev/PKGBUILD b/core/udev/PKGBUILD
index b80fd7707..bab6a2cbe 100644
--- a/core/udev/PKGBUILD
+++ b/core/udev/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 126202 2011-06-02 14:49:12Z tomegun $
+# $Id: PKGBUILD 134147 2011-08-02 11:38:00Z tomegun $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>
@@ -6,8 +6,8 @@
pkgbase="udev"
pkgname=('udev' 'udev-compat')
-pkgver=171
-pkgrel=2
+pkgver=173
+pkgrel=3
arch=(i686 x86_64)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
license=('GPL')
@@ -16,18 +16,20 @@ groups=('base')
options=(!makeflags !libtool)
makedepends=('glibc' 'coreutils' 'util-linux' 'pciutils' 'libusb-compat' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection')
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2
- 81-arch.rules
- static-audio-nodes-group.patch
- static-nodes-permissions.patch)
+ bluetooth.patch
+ 81-arch.rules)
build() {
cd $srcdir/$pkgbase-$pkgver
- # fix https://bugs.archlinux.org/task/24362 (will be in udev-172)
- patch -Np1 -i ../static-audio-nodes-group.patch
- patch -Np1 -i ../static-nodes-permissions.patch
- ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\
- --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system\
- --disable-rule-generator
+ # fix https://bugs.archlinux.org/task/25356 (submitted upstream)
+ patch -Np1 -i ../bluetooth.patch
+ ./configure --sysconfdir=/etc\
+ --with-rootlibdir=/lib\
+ --libexecdir=/lib/udev\
+ --sbindir=/sbin\
+ --with-systemdsystemunitdir=/lib/systemd/system\
+ --disable-rule-generator\
+ --enable-udev_acl
make
}
@@ -36,8 +38,7 @@ package_udev() {
depends=('glibc' 'coreutils' 'util-linux' 'libusb-compat' 'glib2'
'module-init-tools>=3.11' 'pciutils')
install=udev.install
- backup=(etc/udev/udev.conf
- etc/modprobe.d/framebuffer_blacklist.conf)
+ backup=(etc/udev/udev.conf)
conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07')
replaces=('devfsd')
@@ -47,14 +48,33 @@ package_udev() {
install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
# create framebuffer blacklist
- mkdir -p $pkgdir/etc/modprobe.d/
+ mkdir -p $pkgdir/lib/modprobe.d/
for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko.gz' -exec basename {} .ko.gz \;); do
echo "blacklist $mod"
- done | sort -u > $pkgdir/etc/modprobe.d/framebuffer_blacklist.conf
+ done | sort -u > $pkgdir/lib/modprobe.d/framebuffer_blacklist.conf
+ # these static devices are created for convenience, to autoload the modules if necessary
+ # /dev/loop0
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
+ chgrp disk ${pkgdir}/lib/udev/devices/loop0
+
+ # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
+ for i in $pkgdir/lib/udev/rules.d/*.rules; do
+ sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g;
+ s#GROUP="tape"#GROUP="storage"#g;
+ s#GROUP="cdrom"#GROUP="optical"#g' $i
+ done
+}
+
+package_udev-compat() {
+ pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
+ depends=('udev')
+ groups=('')
+ cd $srcdir/$pkgbase-$pkgver
+ install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules
# create static devices in /lib/udev/devices/
- mkdir ${pkgdir}/lib/udev/devices/pts
- mkdir ${pkgdir}/lib/udev/devices/shm
+ mkdir -p ${pkgdir}/lib/udev/devices/{pts,shm}
mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1
mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
@@ -68,9 +88,6 @@ package_udev() {
ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
# these static devices are created for convenience, to autoload the modules if necessary
- # /dev/loop0
- mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
- chgrp disk ${pkgdir}/lib/udev/devices/loop0
# /dev/net/tun
mkdir ${pkgdir}/lib/udev/devices/net
mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
@@ -78,24 +95,7 @@ package_udev() {
mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
# /dev/ppp
mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
-
- # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
- for i in $pkgdir/lib/udev/rules.d/*.rules; do
- sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g;
- s#GROUP="tape"#GROUP="storage"#g;
- s#GROUP="cdrom"#GROUP="optical"#g' $i
- done
-}
-
-package_udev-compat() {
- pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
- depends=('udev')
- groups=('')
- cd $srcdir/$pkgbase-$pkgver
- install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d
- install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules
}
-md5sums=('bdf4617284be2ecac11767437417e209'
- '6ee44e3feb8e0f037947e7d4ca273f12'
- '4f625aea95a5597afd8cdf189421f193'
- 'f9e50b8dfcd2215f5423ff9bc04ecf68')
+md5sums=('91a88a359b60bbd074b024883cc0dbde'
+ '36cb9bfb55a8d931b7498d2e46730745'
+ 'ec529eb1ddaabb70c61b38f80bb8462a')
diff --git a/core/udev/bluetooth.patch b/core/udev/bluetooth.patch
new file mode 100644
index 000000000..96f5d6901
--- /dev/null
+++ b/core/udev/bluetooth.patch
@@ -0,0 +1,36 @@
+From 7462d61442f606cc118722e0572ac8db48fa2540 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
+Date: Tue, 2 Aug 2011 10:56:33 +0200
+Subject: [PATCH] rules: input - fix detection of bluetooth hid devices in
+ Xorg
+
+Commit c49df20758e0f22778cfc93b598f2929f4c86272 prevented udev from
+creating broken symlinks for bluetooth hid devices. Unfortunately,
+it also removed the ID_INPUT=1 and ID_INPUT_{KEY,MOUSE}=1 properties
+from those devices. Xorg relies on these properties for cold- and
+hotplugging of input devices.
+
+With this patch, udev still omits the broken symlinks, but also
+imports the input_id properties again.
+---
+ rules/rules.d/60-persistent-input.rules | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/rules/rules.d/60-persistent-input.rules b/rules/rules.d/60-persistent-input.rules
+index 65a6381..28d50d2 100644
+--- a/rules/rules.d/60-persistent-input.rules
++++ b/rules/rules.d/60-persistent-input.rules
+@@ -2,9 +2,9 @@
+
+ ACTION=="remove", GOTO="persistent_input_end"
+ SUBSYSTEM!="input", GOTO="persistent_input_end"
+-SUBSYSTEMS=="bluetooth", GOTO="persistent_input_end"
+
+ ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
++SUBSYSTEMS=="bluetooth", GOTO="persistent_input_end"
+ SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{program}="usb_id --export %p"
+
+ # determine class name for persistent symlinks
+--
+1.7.6
+
diff --git a/core/udev/udev.install b/core/udev/udev.install
index 5c02dd15b..272ab60c0 100644
--- a/core/udev/udev.install
+++ b/core/udev/udev.install
@@ -2,40 +2,47 @@
# arg 2: the old package version
post_upgrade() {
- if [ "$(vercmp $2 100)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "----------"
- echo "udev >=098 rules syntax has changed, please update your own rules."
- echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
- echo "Please read the instructions carefully before reboot."
- echo "They are located in /etc/udev/readme-udev-arch.txt"
- echo "----------"
- fi
- if [ "$(vercmp $2 169)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "---------------"
- echo "Kernel 2.6.32 or newer is now required."
- echo "OSS emulation modules are not loaded by default, add to rc.conf if needed."
- echo "Arch specific cd symlinks are now no longer created."
- echo "cd and net persistent rules will no longer be autogenerated,"
- echo "see <https://wiki.archlinux.org/index.php/Udev> for details."
- echo "Errors are now logged (possibly to the console) by default."
- echo "---------------"
- fi
if [ "$(vercmp $2 172)" -lt 0 ]; then
echo "ATTENTION UDEV:"
- echo "---------------"
- echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and"
- echo "blacklisting in MODULES no longer works."
- echo "See 'man modprobe.conf' for a replacement to blacklisting."
- echo "To disable a module mod1 on the kernel command line, use"
- echo "mod1.disable=1"
- echo "or"
- echo "modprobe.blacklist=mod1"
+ echo "----------"
+ if [ "$(vercmp $2 168)" -lt 0 ]; then
+ echo "Kernel 2.6.32 or newer is now required."
+ echo " --"
+ echo "OSS emulation modules are not loaded by default, add to rc.conf if needed."
+ echo " --"
+ echo "Arch specific cd symlinks are now no longer created."
+ echo " --"
+ echo "cd and net persistent rules will no longer be autogenerated,"
+ echo "see <https://wiki.archlinux.org/index.php/Udev> for details."
+ echo " --"
+ echo "Errors are now logged (possibly to the console) by default."
+ echo " --"
+ fi
+ if [ "$(vercmp $2 171)" -lt 0 ]; then
+ echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and"
+ echo "blacklisting in MODULES no longer works."
+ echo "See 'man modprobe.conf' for a replacement to blacklisting."
+ echo "To disable a module mod1 on the kernel command line, use"
+ echo "mod1.disable=1"
+ echo "or"
+ echo "modprobe.blacklist=mod1"
+ echo " --"
+ echo "The following modules are no longer unconditionally loaded:"
+ echo " pcspkr irtty-sir analog lp ppdev ide-generic"
+ echo "Add them to MODULES in rc.conf if you need them."
+ echo " --"
+ fi
+ echo "Support for non-devtmpfs self-compiled kernels have been moved to udev-compat."
+ echo " --"
+ echo "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to"
+ echo "/lib/modprobe.d. Any customizations shoud be done to the file in /etc, as it"
+ echo "takes precedence."
+ echo " --"
+ echo "kbd and rtc devices are no longer world readable."
echo " --"
- echo "The following modules are no longer unconditionally loaded:"
- echo " pcspkr irtty-sir analog lp ppdev ide-generic"
- echo "Add them to MODULES in rc.conf if you need them."
+ echo "rtc is no longer in the audio group and fb devices are no longer in"
+ echo "the video group, as permissions and ownership of fb devices are controlled"
+ echo "by X."
echo "---------------"
fi
}