diff options
author | root <root@rshg054.dnsready.net> | 2011-10-20 23:14:58 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-10-20 23:14:58 +0000 |
commit | 1b21445a8e9097b0bb0542ed847fbb1eb832848f (patch) | |
tree | de9d1c80c9330efe48f043d8c6cc059ad5640151 /testing/udev | |
parent | 1a136cf48dd7f710f38ff998182508f5a0d41c35 (diff) |
Thu Oct 20 23:14:58 UTC 2011
Diffstat (limited to 'testing/udev')
-rw-r--r-- | testing/udev/81-arch.rules | 9 | ||||
-rw-r--r-- | testing/udev/PKGBUILD | 101 | ||||
-rw-r--r-- | testing/udev/udev.install | 62 |
3 files changed, 172 insertions, 0 deletions
diff --git a/testing/udev/81-arch.rules b/testing/udev/81-arch.rules new file mode 100644 index 000000000..6bdf4e249 --- /dev/null +++ b/testing/udev/81-arch.rules @@ -0,0 +1,9 @@ +# do not edit this file, it will be overwritten on update +# this file is going away in the near future + +# this might belong in <http://aur.archlinux.org/packages.php?ID=22698> +# see also /usr/src/*/Documentation/laptops/sonypi.txt +KERNEL=="sonypi", MODE="0666" + +# this might belong in <https://aur.archlinux.org/packages.php?ID=18393> +KERNEL=="legousbtower*", MODE="0666" diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD new file mode 100644 index 000000000..00ee77d90 --- /dev/null +++ b/testing/udev/PKGBUILD @@ -0,0 +1,101 @@ +# $Id: PKGBUILD 140824 2011-10-19 21:51:21Z tomegun $ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> +# Maintainer: Tom Gundersen <teg@jklm.no> + +pkgbase="udev" +pkgname=('udev' 'udev-compat') +pkgver=174 +pkgrel=1 +arch=(i686 x86_64) +url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" +license=('GPL') +groups=('base') +options=(!makeflags !libtool) +makedepends=('gobject-introspection' 'gperf') +#source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2 +source=(http://people.freedesktop.org/~kay/$pkgbase-$pkgver.tar.bz2 + 81-arch.rules) + +build() { + cd $srcdir/$pkgbase-$pkgver + + ./configure --sysconfdir=/etc\ + --with-rootlibdir=/lib\ + --libexecdir=/lib/udev\ + --sbindir=/sbin\ + --with-systemdsystemunitdir=/lib/systemd/system\ + --disable-rule-generator\ + --enable-udev_acl + + make +} + +package_udev() { + pkgdesc="The userspace dev tools (udev)" + depends=('util-linux' 'libusb-compat' 'glib2' 'module-init-tools' 'pciutils') + install=udev.install + backup=(etc/udev/udev.conf) + conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07') + replaces=('devfsd') + + cd $srcdir/$pkgbase-$pkgver + make DESTDIR=${pkgdir} install + # Install our rule for permissions and symlinks + install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules + + # create framebuffer blacklist + 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/lib/modprobe.d/framebuffer_blacklist.conf + + # /dev/loop0 is created for convenience, to autoload the module if necessary + # may be obsoleted by https://lkml.org/lkml/2011/7/30/111 + mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0 + chgrp disk ${pkgdir}/lib/udev/devices/loop0 + + # udevd moved, symlink to make life easy for restarting udevd manually + ln -s /lib/udev/udevd ${pkgdir}/sbin/udevd + + # 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 -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=('3b84706046a33d7a7e00491a1136804d' + '3da2bb9891592f9438a07bd641465531') diff --git a/testing/udev/udev.install b/testing/udev/udev.install new file mode 100644 index 000000000..2cc8caaa0 --- /dev/null +++ b/testing/udev/udev.install @@ -0,0 +1,62 @@ +# arg 1: the new package version +# arg 2: the old package version + +post_upgrade() { + if [ "$(vercmp $2 174)" -lt 0 ]; then + echo "ATTENTION UDEV:" + 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 + if [ "$(vercmp $2 172)" -lt 0 ]; then + 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 "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 + echo "We now use upstream rules for assigning devices to the 'disk', 'optical'," + echo "'scanner' and 'video' groups. Beware of any changes." + echo " --" + echo "We no longer create symlinks from /dev/<dev> to /dev/<dev>0." + echo " --" + echo "For security reasons, we no longer add devices to the 'storage' group. Use" + echo "udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want" + echo "this functionality back." + echo " --" + echo "We no longer create the static nodes on install needed for an initrd-less and" + echo "devtmpfs-less boot, this only affects fresh installs." + echo "---------------" + fi +} |