update udev to 172

This commit is contained in:
Phil 2011-07-11 21:45:44 +00:00
parent 0fbc3acabe
commit 7a9cbc96f8
5 changed files with 69 additions and 168 deletions

View File

@ -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
#######################################
#######################################

View File

@ -6,25 +6,20 @@
pkgbase="udev"
pkgname=('udev' 'udev-compat')
pkgver=171
pkgrel=2
pkgver=172
pkgrel=1
arch=(i686 x86_64)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
license=('GPL')
groups=('base')
# older initscripts versions required start_udev
options=(!makeflags !libtool)
conflicts=('initscripts<2011.09')
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-chakra.rules
static-audio-nodes-group.patch
static-nodes-permissions.patch)
81-chakra.rules)
build() {
cd $srcdir/$pkgbase-$pkgver
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
@ -36,8 +31,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,37 +41,15 @@ package_udev() {
install -D -m644 $srcdir/81-chakra.rules $pkgdir/lib/udev/rules.d/81-chakra.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
# create static devices in /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
mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
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
# /dev/net/tun
mkdir ${pkgdir}/lib/udev/devices/net
mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
# /dev/fuse
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
@ -94,8 +66,28 @@ package_udev-compat() {
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 -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
mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
# these static devices are created for convenience, to autoload the modules if necessary
# /dev/net/tun
mkdir ${pkgdir}/lib/udev/devices/net
mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
# /dev/fuse
mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
# /dev/ppp
mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
}
md5sums=('bdf4617284be2ecac11767437417e209'
'97eec6fa818878bd7e87d374e7cd9fb0'
'4f625aea95a5597afd8cdf189421f193'
'f9e50b8dfcd2215f5423ff9bc04ecf68')
sha256sums=('b8959cc951ff69ff13305aad6836eac1ff672d98d5a11435c38c4608f77bbd6a'
'b1bc9c86ec3ccdff87ef6926092c13e1bac4144c32879e826d240c79828aaf51')

View File

@ -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

View File

@ -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

View File

@ -2,47 +2,52 @@
# 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 "Chakra'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 "Chakra specific cd symlinks are now no longer created."
echo " --"
echo "cd and net persistent rules will no longer be autogenerated,"
echo "see <http://www.chakra-project.org/wiki/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 "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 "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 "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to /lib/modprobe.d"
echo "Any customizations shoud be done to the file in /etc, as it takes precedence."
echo " --"
echo "kbd and rtc devices are no longer world readable."
echo " --"
echo "rtc is no longer in the audio group and fb devices are no longer in the video group"
echo "(permissions and ownership of fb devices are controlled by X)."
echo "---------------"
fi
}
post_install() {
# If a ramfs is mounted, we still need to make sure that /dev/{console,null,zero} exist
# bind-mount /dev to /mnt/dev, thus making the real /dev invisible
# and bind-mounts /dev to /mnt/dev, thus making the real /dev invisible
ROOTDIR=""
[ "$(stat -c %D /)" != "$(stat -c %D /dev)" ] && ROOTDIR=$(mktemp -d /tmp/udevinstall.XXXXXX)
[ -n "${ROOTDIR}" ] && mount --bind / ${ROOTDIR}