core/udev/PKGBUILD

112 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=2
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://people.freedesktop.org/~kay/udev/${pkgbase}-${pkgver}.tar.bz2"
'60-ubuntu-persistent-alsa.rules'
'78-ubuntu-sound-card.rules'
'81-chakra.rules'
'82-optical-symlinks.rules')
md5sums=('2fc9c1efcbde98e3d73ffee7a77aea47'
'3a37fcf19b6d269ff41f01e303baf3d6'
'de47a058d60cdb4db53d385c2ab705df'
'8455185f071187579a252dd0505b72cf'
'4538d729fa292fbb8f9dca6265dc9c14')
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
# Setup the udev rules directory
install -d -m755 "${pkgdir}/lib/udev/rules.d"
for rule in "${srcdir}"/*.rules; do
install -m644 "${rule}" "${pkgdir}/lib/udev/rules.d"
done
# create framebuffer blacklist
install -d -m755 "${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')
cd "${srcdir}/${pkgbase}-${pkgver}"
install -d -m755 "${pkgdir}/lib/${pkgbase}/rules.d"
install -m644 "${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules" "${pkgdir}/lib/udev/rules.d"
# create static devices in /lib/udev/devices/
mkdir -p "${pkgdir}/lib/udev/devices"/{pts,shm}
mknod -m0600 "${pkgdir}/lib/udev/devices/console" c 5 1
mknod -m0666 "${pkgdir}/lib/udev/devices/null" c 1 3
mknod -m0660 "${pkgdir}/lib/udev/devices/zero" c 1 5
mknod -m0666 "${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
install -d -m755 "${pkgdir}/lib/udev/devices/net"
# /dev/net/tun
mknod -m0666 "${pkgdir}/lib/udev/devices/net/tun" c 10 200
# /dev/fuse
mknod -m0666 "${pkgdir}/lib/udev/devices/fuse" c 10 229
# /dev/ppp
mknod -m0600 "${pkgdir}/lib/udev/devices/ppp" c 108 0
}
# vim:set ts=2 sw=2 et: