diff options
Diffstat (limited to 'core/udev/PKGBUILD')
-rw-r--r-- | core/udev/PKGBUILD | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/core/udev/PKGBUILD b/core/udev/PKGBUILD new file mode 100644 index 000000000..5f64aaaa7 --- /dev/null +++ b/core/udev/PKGBUILD @@ -0,0 +1,112 @@ +# $Id: PKGBUILD 109960 2011-02-14 14:00:15Z tpowa $ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgbase="udev" +pkgname=('udev' 'udev-compat') +pkgver=166 +pkgrel=2 +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) +makedepends=('glibc' 'coreutils' 'util-linux' 'pciutils' 'libusb-compat' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection') +source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2 + 80-drivers.rules + 81-arch.rules + load-modules.sh + cdsymlinks.sh) +md5sums=('4db27d73fdbe94f47fd89fdd105c2dfb' + '4427855146513a4703ab5c7eb8a0156e' + 'f17c99779173ddc79f866cf3a5de5e68' + 'f91fddc67609b45b244a624977c4247b' + '2e808ee78d237c478b57af2a68d43769') + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\ + --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system + make +} + +package_udev() { + pkgdesc="The userspace dev tools (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) + conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07') + replaces=('devfsd') + + cd $srcdir/$pkgname-$pkgver + make DESTDIR=${pkgdir} install + # Replace original 80-drivers.rules with custom one. + install -D -m644 $srcdir/80-drivers.rules $pkgdir/lib/udev/rules.d/80-drivers.rules + # Install our rule for permissions and symlinks + install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules + # install our module loading subsystem + install -D -m755 $srcdir/load-modules.sh $pkgdir/lib/udev/load-modules.sh + # install cdsymlinks.sh + install -D -m755 $srcdir/cdsymlinks.sh $pkgdir/lib/udev/cdsymlinks.sh + # disable error logging to prevent startup failures printed to vc on boot + sed -i -e 's|udev_log="err"|udev_log="0"|g' $pkgdir/etc/udev/udev.conf + # disable persistent cdromsymlinks and network by default + # and move it to /etc/udev/rules.d + mv $pkgdir/lib/udev/rules.d/75-persistent-net-generator.rules \ + $pkgdir/etc/udev/rules.d/75-persistent-net-generator.rules.optional + mv $pkgdir/lib/udev/rules.d/75-cd-aliases-generator.rules \ + $pkgdir/etc/udev/rules.d/75-cd-aliases-generator.rules.optional + + # create framebuffer blacklist + mkdir -p $pkgdir/etc/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 + + # 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 + 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/$pkgname-$pkgver + install -d -m755 ${pkgdir}/lib/${pkgname}/rules.d + install -D -m644 ${srcdir}/${pkgname}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules +} |