summaryrefslogtreecommitdiff
path: root/testing/udev
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-01-14 23:15:11 +0000
committerroot <root@rshg054.dnsready.net>2012-01-14 23:15:11 +0000
commit2d4aa7f882dac8abb34e973655326c93f584f31f (patch)
treec9404799d0aea846ee22c16108ef00fe8babbb7a /testing/udev
parentb5f690637837ff269bf5d248ee2dc37ea5236ca8 (diff)
Sat Jan 14 23:15:11 UTC 2012
Diffstat (limited to 'testing/udev')
-rw-r--r--testing/udev/PKGBUILD105
-rw-r--r--testing/udev/udev.install65
2 files changed, 170 insertions, 0 deletions
diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD
new file mode 100644
index 000000000..2db9e58ad
--- /dev/null
+++ b/testing/udev/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 146541 2012-01-12 20:45:08Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
+
+pkgbase="udev"
+pkgname=('udev' 'udev-compat')
+pkgver=177
+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' 'libxslt' 'usbutils' 'kmod')
+source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.xz)
+
+build() {
+ cd $srcdir/$pkgbase-$pkgver
+
+ ./configure --prefix=/usr \
+ --with-rootprefix= \
+ --sysconfdir=/etc \
+ --bindir=/sbin \
+ --libdir=/usr/lib \
+ --with-rootlibdir=/lib \
+ --libexecdir=/lib \
+ --with-systemdsystemunitdir=/lib/systemd/system \
+ --enable-udev_acl
+
+ make
+}
+
+package_udev() {
+ pkgdesc="The userspace dev tools (udev)"
+ depends=('util-linux' 'libusb-compat' 'glib2' 'kmod' 'pciutils' 'usbutils' 'pciutils' 'glib2')
+ 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
+
+ # 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
+ # this is no longer needed when util-linux-2.21 is released as /dev/loop-control
+ # will be used instead. In that case move this to udev-compat
+ install -d -m755 ${pkgdir}/lib/udev/devices/
+ mknod ${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=('')
+ install -d -m755 ${pkgdir}/lib/udev/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 nodes to be compatible with on-demand module
+ # loading in the most recent kernel
+ #
+ # the list of nodes is generated from /lib/modules/`most recent kernel`/modprobe.devname
+ # excluding any devices not included in the LTS kernel and any entries in the
+ # modprobe.devname file of the LTS kernel (if it exists).
+
+ install -d -m755 ${pkgdir}/lib/udev/devices
+ cd ${pkgdir}/lib/udev/devices
+
+ install -d -m755 net
+ mknod net/tun c 10 200
+ mknod ppp c 108 0
+# mknod loop-control c 10 237 -- does not exist in old kernels
+ mknod uinput c 10 223
+ install -d -m755 mapper
+ mknod mapper/control c 10 236
+ install -d -m755 snd
+ mknod snd/timer c 116 33
+ mknod snd/seq c 116 1
+ mknod btrfs-control c 10 234
+ mknod autofs c 10 235
+ mknod fuse c 10 229
+ install -d -m755 cpu
+ mknod cpu/microcode c 10 184
+
+}
+
+md5sums=('b4e00faf8153fd7202a7ef609284b0c3')
diff --git a/testing/udev/udev.install b/testing/udev/udev.install
new file mode 100644
index 000000000..c49c5006f
--- /dev/null
+++ b/testing/udev/udev.install
@@ -0,0 +1,65 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+post_upgrade() {
+ if [ "$(vercmp $2 175)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "----------"
+ if [ "$(vercmp $2 168)" -lt 0 ]; then
+ echo "Kernel 2.6.32 or newer is now required."
+ echo " --"
+ echo "OSS emulation modules are not loaded by default, add to rc.conf if needed."
+ echo " --"
+ echo "Arch specific cd symlinks are now no longer created."
+ echo " --"
+ echo "cd and net persistent rules will no longer be autogenerated,"
+ echo "see <https://wiki.archlinux.org/index.php/Udev> for details."
+ echo " --"
+ echo "Errors are now logged (possibly to the console) by default."
+ echo " --"
+ fi
+ if [ "$(vercmp $2 171)" -lt 0 ]; then
+ echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and"
+ echo "blacklisting in MODULES no longer works."
+ echo "See 'man modprobe.conf' for a replacement to blacklisting."
+ echo "To disable a module mod1 on the kernel command line, use"
+ echo "mod1.disable=1"
+ echo "or"
+ echo "modprobe.blacklist=mod1"
+ echo " --"
+ echo "The following modules are no longer unconditionally loaded:"
+ echo " pcspkr irtty-sir analog lp ppdev ide-generic"
+ echo "Add them to MODULES in rc.conf if you need them."
+ echo " --"
+ fi
+ if [ "$(vercmp $2 172)" -lt 0 ]; then
+ echo "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to"
+ echo "/lib/modprobe.d. Any customizations shoud be done to the file in /etc, as it"
+ echo "takes precedence."
+ echo " --"
+ echo "kbd and rtc devices are no longer world readable."
+ echo " --"
+ echo "rtc is no longer in the audio group and fb devices are no longer in"
+ echo "the video group, as permissions and ownership of fb devices are controlled"
+ echo "by X."
+ echo " --"
+ fi
+ if [ "$(vercmp $2 174)" -lt 0 ]; then
+ echo "We now use upstream rules for assigning devices to the 'disk', 'optical',"
+ echo "'scanner' and 'video' groups. Beware of any changes."
+ echo " --"
+ echo "We no longer create symlinks from /dev/<dev> to /dev/<dev>0."
+ echo " --"
+ echo "For security reasons, we no longer add devices to the 'storage' group. Use"
+ echo "udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want"
+ echo "this functionality back."
+ echo " --"
+ echo "We no longer create the static nodes on install needed for an initrd-less boot"
+ echo "where devtmpfs is not mounted by the kernel, this only affects fresh installs."
+ echo " --"
+ fi
+ echo "devtmpfs support is now a hard requirement. Users of the official Arch kernels"
+ echo "have this enabled."
+ echo "---------------"
+ fi
+}