diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/udev/81-arch.rules | 14 | ||||
-rw-r--r-- | core/udev/PKGBUILD | 82 | ||||
-rw-r--r-- | core/udev/bluetooth.patch | 36 | ||||
-rw-r--r-- | core/udev/udev.install | 69 |
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 } |