PKGBUILDs/core/udev/PKGBUILD

130 lines
5.1 KiB
Bash
Raw Normal View History

2011-05-02 02:50:50 +00:00
# $Id: PKGBUILD 118985 2011-04-09 21:29:33Z tpowa $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>
2011-05-02 02:50:50 +00:00
# PlugApps: Kevin Mihelich <kevin@plugapps.com>
# - Add our automouting rules
2011-01-31 17:14:04 +00:00
plugrel=1
pkgbase="udev"
pkgname=('udev' 'udev-compat')
2011-05-02 02:50:50 +00:00
pkgver=167
2011-05-08 17:44:41 +00:00
pkgrel=2
2011-01-27 17:43:19 +00:00
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)
2011-01-27 17:43:19 +00:00
makedepends=('glibc' 'coreutils' 'util-linux' 'pciutils' 'libusb-compat' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection')
2011-05-02 02:50:50 +00:00
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2
80-drivers.rules
81-arch.rules
load-modules.sh
cdsymlinks.sh
11-media-by-label-auto-mount.rules
11-sd-cards-auto-mount.rules)
2011-05-02 02:50:50 +00:00
md5sums=('4b37e1222f06c14c24147de346aa0bad'
'4427855146513a4703ab5c7eb8a0156e'
'f17c99779173ddc79f866cf3a5de5e68'
'f91fddc67609b45b244a624977c4247b'
'2e808ee78d237c478b57af2a68d43769'
2011-01-06 06:38:23 +00:00
'155554f488388e3f994ace619ad1e8d4'
'173b71ab6466677c12c99ef37c56a3db')
build() {
2011-05-02 02:50:50 +00:00
cd $srcdir/$pkgbase-$pkgver
2011-01-02 05:25:35 +00:00
./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)"
2011-01-27 17:43:19 +00:00
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')
2011-05-02 02:50:50 +00:00
cd $srcdir/$pkgbase-$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/
2011-02-21 17:15:36 +00:00
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
2011-05-08 17:44:41 +00:00
# Provided by the bluez package, remove this line when updating to udev>=169
rm ${pkgdir}/lib/udev/hid2hci
2011-05-02 02:50:50 +00:00
# PlugApps USB drive and SD card automount rules
rm -rf $pkgdir/etc/udev/rules.d/*
cp $srcdir/11-media-by-label-auto-mount.rules $pkgdir/etc/udev/rules.d/
cp $srcdir/11-sd-cards-auto-mount.rules $pkgdir/etc/udev/rules.d/
}
package_udev-compat() {
pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
depends=('udev')
groups=('')
2011-05-02 02:50:50 +00:00
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
}