mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-01-24 10:32:15 +08:00
update udev to 172
This commit is contained in:
parent
0fbc3acabe
commit
7a9cbc96f8
@ -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
|
||||
#######################################
|
||||
#######################################
|
@ -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')
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user