summaryrefslogtreecommitdiff
path: root/core/udev
diff options
context:
space:
mode:
Diffstat (limited to 'core/udev')
-rw-r--r--core/udev/81-arch.rules14
-rw-r--r--core/udev/PKGBUILD85
-rw-r--r--core/udev/bluetooth.patch36
-rw-r--r--core/udev/static-audio-nodes-group.patch27
-rw-r--r--core/udev/static-nodes-permissions.patch57
-rw-r--r--core/udev/udev.install69
6 files changed, 117 insertions, 171 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 474fceb5b..f959e9b3c 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 mips64el)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
license=('GPL')
@@ -16,25 +16,26 @@ 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
+ # fix https://bugs.archlinux.org/task/25356 (submitted upstream)
+ patch -Np1 -i ../bluetooth.patch
if [ "$CARCH" = "mips64el" ]; then
msg "Remove -Wl,--gc-sections"
- sed -i "753d" Makefile
- sed -i "753d" Makefile.in
+ sed -i "/--gc-sections/d" Makefile.*
fi
- ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\
- --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system\
- --disable-rule-generator
+ ./configure --sysconfdir=/etc\
+ --with-rootlibdir=/lib\
+ --libexecdir=/lib/udev\
+ --sbindir=/sbin\
+ --with-systemdsystemunitdir=/lib/systemd/system\
+ --disable-rule-generator\
+ --enable-udev_acl
make
}
@@ -43,8 +44,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')
@@ -54,14 +54,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
@@ -75,9 +94,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
@@ -85,24 +101,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/static-audio-nodes-group.patch b/core/udev/static-audio-nodes-group.patch
deleted file mode 100644
index b1fc4f935..000000000
--- a/core/udev/static-audio-nodes-group.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3e227830ad6494700e18ae03297e8fb833ff26bf Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 27 May 2011 02:50:29 +0200
-Subject: [PATCH] rules: apply 'audio' group of the static snd/{seq,timer}
- nodes
-
----
- rules/rules.d/50-udev-default.rules | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
-index cd745ef..cacb533 100644
---- a/rules/rules.d/50-udev-default.rules
-+++ b/rules/rules.d/50-udev-default.rules
-@@ -38,7 +38,8 @@ SUBSYSTEM=="graphics", GROUP="video"
- SUBSYSTEM=="drm", GROUP="video"
-
- # sound
--SUBSYSTEM=="sound", GROUP="audio"
-+SUBSYSTEM=="sound", GROUP="audio", \
-+ OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
-
- # DVB (video)
- SUBSYSTEM=="dvb", GROUP="video"
---
-1.7.5.3
-
diff --git a/core/udev/static-nodes-permissions.patch b/core/udev/static-nodes-permissions.patch
deleted file mode 100644
index 51e6ad6bc..000000000
--- a/core/udev/static-nodes-permissions.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c112873b5bc9ebbae39c32f502bc6211f33546cc Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Mon, 30 May 2011 02:12:02 +0200
-Subject: [PATCH 1/2] rules: static_node - use 0660 if group is given to get
- the cigar
-
->> On Tue, May 24, 2011 at 15:33, Tom Gundersen <teg@jklm.no> wrote:
->
-> Close, but no cigar. Looks like the static nodes are not assigned
-> permissions 0660 even if a gid is set (the nodes have perms 0600).
->
-> Cheers,
->
-> Tom
----
- udev/udev-rules.c | 10 ++++++++--
- 1 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/udev/udev-rules.c b/udev/udev-rules.c
-index 48395e7..56a258d 100644
---- a/udev/udev-rules.c
-+++ b/udev/udev-rules.c
-@@ -2709,8 +2709,9 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules)
- case TK_A_STATIC_NODE: {
- char filename[UTIL_PATH_SIZE];
- struct stat stats;
-+
- /* we assure, that the permissions tokens are sorted before the static token */
-- if (mode == 0 && uid == 0 && gid == 0)
-+ if (uid == 0 && gid == 0)
- goto next;
- util_strscpyl(filename, sizeof(filename), udev_get_dev_path(rules->udev), "/",
- &rules->buf[cur->key.value_off], NULL);
-@@ -2718,14 +2719,19 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules)
- goto next;
- if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
- goto next;
-- if (mode != 0 && mode != (stats.st_mode & 0777)) {
-+
-+ if (mode == 0 && gid > 0)
-+ mode = 0660;
-+ if (mode != (stats.st_mode & 0777)) {
- chmod(filename, mode);
- info(rules->udev, "chmod '%s' %#o\n", filename, mode);
- }
-+
- if ((uid != 0 && uid != stats.st_uid) || (gid != 0 && gid != stats.st_gid)) {
- chown(filename, uid, gid);
- info(rules->udev, "chown '%s' %u %u\n", filename, uid, gid);
- }
-+
- utimensat(AT_FDCWD, filename, NULL, 0);
- break;
- }
---
-1.7.5.2
-
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
}