mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-10 09:54:36 +08:00
94 lines
3.6 KiB
Bash
94 lines
3.6 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=172
|
|
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/$pkgbase-$pkgver.tar.bz2
|
|
81-chakra.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
|
|
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)
|
|
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
|
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
# 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=('b8959cc951ff69ff13305aad6836eac1ff672d98d5a11435c38c4608f77bbd6a'
|
|
'b1bc9c86ec3ccdff87ef6926092c13e1bac4144c32879e826d240c79828aaf51')
|