core/udev/PKGBUILD
2011-12-01 22:46:37 +00:00

107 lines
4.0 KiB
Bash

#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgbase="udev"
pkgname=('udev' 'udev-compat')
pkgver=175
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/udev/$pkgbase-$pkgver.tar.bz2
81-chakra.rules
82-optical-symlinks.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-chakra.rules $pkgdir/lib/udev/rules.d/81-chakra.rules
# Install our rule for optical symlinks
install -D -m644 $srcdir/82-optical-symlinks.rules $pkgdir/lib/udev/rules.d/82-optical-symlinks.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
}
sha256sums=('4c7937fe5a1521316ea571188745b9a00a9fdf314228cffc53a7ba9e5968b7ab'
'68f2d480d8e163ec3f6ecb13f37faccfc4f0c1093fa3788439d55be08da5e93b'
'284b665b1fd149bf1e211009d3d630b18147d8b9f8b34f43fa46678f88b97f6d')