summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-01-25 12:01:49 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-01-25 12:01:49 +0100
commit8e40bdbb2496be15fdba2e683af427bc2333be42 (patch)
tree03ace0b9a2ffc12133cb0357fee75079c964f67a /core
parent33fcf0e7b95e530b849e59e90fdea4001e01283d (diff)
parent2aa2acfff38de7de825868995e49792ecfc03126 (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/libvisual-projectm/PKGBUILD community/python-memcached/PKGBUILD community/python-mpi4py/PKGBUILD core/sqlite3/PKGBUILD core/udev/PKGBUILD extra/kdeplasma-applets-networkmanagement/PKGBUILD extra/pixman/PKGBUILD extra/sg3_utils/PKGBUILD libre/kdeutils-libre/PKGBUILD libre/linux-libre/PKGBUILD libre/linux-libre/linux-libre.install multilib/lib32-libxcb/PKGBUILD multilib/lib32-openssl/PKGBUILD multilib/lib32-sdl_image/PKGBUILD multilib/lib32-sqlite3/PKGBUILD multilib/lib32-udev/PKGBUILD
Diffstat (limited to 'core')
-rw-r--r--core/btrfs-progs/PKGBUILD31
-rw-r--r--core/iproute2/PKGBUILD14
-rw-r--r--core/iproute2/fix-ip-l.patch27
-rw-r--r--core/kmod/PKGBUILD56
-rw-r--r--core/kmod/depmod-search.conf5
-rw-r--r--core/mdadm/PKGBUILD18
-rw-r--r--core/sqlite3/PKGBUILD14
-rw-r--r--core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch162
-rw-r--r--core/udev/PKGBUILD96
-rw-r--r--core/udev/udev.install31
10 files changed, 372 insertions, 82 deletions
diff --git a/core/btrfs-progs/PKGBUILD b/core/btrfs-progs/PKGBUILD
new file mode 100644
index 000000000..343cb55c3
--- /dev/null
+++ b/core/btrfs-progs/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 147160 2012-01-23 15:27:41Z ibiru $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=btrfs-progs
+pkgver=0.19.20120110
+pkgrel=2
+pkgdesc="btrfs filesystem utilities"
+arch=(i686 x86_64)
+depends=('glibc' 'e2fsprogs')
+source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.xz)
+url="http://btrfs.wiki.kernel.org/"
+replaces=('btrfs-progs-unstable')
+conflicts=('btrfs-progs-unstable')
+provides=('btrfs-progs-unstable')
+license=('GPL2')
+
+build() {
+ cd $srcdir/$pkgname
+ make CFLAGS="$CFLAGS" all convert
+}
+
+package() {
+ cd $srcdir/$pkgname
+ make prefix=$pkgdir/usr install
+ # fix manpage
+ mkdir -p $pkgdir/usr/share/
+ mv $pkgdir/usr/man $pkgdir/usr/share/man
+ mkdir -p ${pkgdir}/sbin
+ ln -sf /usr/bin/btrfs ${pkgdir}/sbin/btrfs
+}
+md5sums=('a3f6fbeb166f8e6b5c06833888d4ecf2')
diff --git a/core/iproute2/PKGBUILD b/core/iproute2/PKGBUILD
index 84c10eeab..90199ce49 100644
--- a/core/iproute2/PKGBUILD
+++ b/core/iproute2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 146447 2012-01-11 15:20:57Z stephane $
+# $Id: PKGBUILD 147158 2012-01-23 15:27:38Z ibiru $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=iproute2
pkgver=3.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="IP Routing Utilities"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL2')
@@ -19,10 +19,11 @@ options=('!makeflags')
backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
source=(http://www.kernel.org/pub/linux/utils/net/$pkgname/$pkgname-$pkgver.tar.xz
- iproute2-fhs.patch)
+ iproute2-fhs.patch
+ fix-ip-l.patch)
sha1sums=('1e217f22b0bbfc870ddf746de883ee375cd9e533'
- '2416b11252364d7a6c742eabb4a6924a75637a46')
-
+ '2416b11252364d7a6c742eabb4a6924a75637a46'
+ '2ec5513c44f89046438d65e2cda1a014010e3b73')
build() {
cd $srcdir/$pkgname-$pkgver
@@ -30,6 +31,9 @@ build() {
# set correct fhs structure
patch -Np1 -i "$srcdir/iproute2-fhs.patch"
+ #upstream fixes
+ patch -Np1 -i "$srcdir/fix-ip-l.patch"
+
./configure
make
diff --git a/core/iproute2/fix-ip-l.patch b/core/iproute2/fix-ip-l.patch
new file mode 100644
index 000000000..7f1749cbb
--- /dev/null
+++ b/core/iproute2/fix-ip-l.patch
@@ -0,0 +1,27 @@
+From 5aa08f6bf4107f8aec43c0678466a314dbd0d054 Mon Sep 17 00:00:00 2001
+From: Stephen Hemminger <shemminger@vyatta.com>
+Date: Fri, 20 Jan 2012 08:16:02 -0800
+Subject: [PATCH] ip: make 'ip l' be 'ip link'
+
+Restore compatiablity for those lazy typists.
+---
+ ip/ip.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/ip/ip.c b/ip/ip.c
+index 7b4bacb..20dc3b5 100644
+--- a/ip/ip.c
++++ b/ip/ip.c
+@@ -72,8 +72,8 @@ static const struct cmd {
+ { "neighbour", do_ipneigh },
+ { "ntable", do_ipntable },
+ { "ntbl", do_ipntable },
+- { "l2tp", do_ipl2tp },
+ { "link", do_iplink },
++ { "l2tp", do_ipl2tp },
+ { "tunnel", do_iptunnel },
+ { "tunl", do_iptunnel },
+ { "tuntap", do_iptuntap },
+--
+1.7.6.5
+
diff --git a/core/kmod/PKGBUILD b/core/kmod/PKGBUILD
new file mode 100644
index 000000000..5147f866f
--- /dev/null
+++ b/core/kmod/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 147035 2012-01-21 00:32:01Z dreisner $
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+
+pkgname=kmod
+pkgver=4
+pkgrel=1
+pkgdesc="Linux kernel module handling"
+arch=('i686' 'x86_64')
+url="http://git.profusion.mobi/cgit.cgi/kmod.git"
+license=('GPL2')
+depends=('glibc' 'zlib')
+makedepends=('docbook2x')
+options=('!libtool')
+provides=('module-init-tools=3.16')
+conflicts=('module-init-tools')
+replaces=('module-init-tools')
+source=("http://packages.profusion.mobi/$pkgname/$pkgname-$pkgver.tar.xz"
+ "depmod-search.conf")
+md5sums=('e14450a066a48accd0af1995b3c0232d'
+ '4b8cbcbc54b9029c99fd730e257d4436')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure \
+ --sysconfdir=/etc \
+ --with-rootprefix= \
+ --with-zlib
+
+ make
+}
+
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
+package() {
+ make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+
+ # binary directories
+ install -dm755 "$pkgdir"/{,s}bin
+
+ # configuration directories
+ install -dm755 "$pkgdir"/{etc,lib}/{depmod,modprobe}.d
+
+ # add symlinks to kmod
+ ln -s /usr/bin/kmod "$pkgdir/bin/lsmod"
+ for tool in {ins,rm,dep}mod mod{info,probe}; do
+ ln -s ../usr/bin/kmod "$pkgdir/sbin/$tool"
+ done
+
+ # install depmod.d file for search/ dir
+ install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/lib/depmod.d/search.conf"
+}
+
+# vim: ft=sh syn=sh et
diff --git a/core/kmod/depmod-search.conf b/core/kmod/depmod-search.conf
new file mode 100644
index 000000000..3feb67b05
--- /dev/null
+++ b/core/kmod/depmod-search.conf
@@ -0,0 +1,5 @@
+#
+# /etc/depmod.d/depmod.conf
+#
+
+search updates extramodules built-in
diff --git a/core/mdadm/PKGBUILD b/core/mdadm/PKGBUILD
index d793695f0..6b3fabee0 100644
--- a/core/mdadm/PKGBUILD
+++ b/core/mdadm/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 138138 2011-09-17 10:36:09Z tpowa $
+# $Id: PKGBUILD 147125 2012-01-22 11:01:03Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=mdadm
-pkgver=3.2.2
-pkgrel=4
+pkgver=3.2.3
+pkgrel=1
pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID"
arch=(i686 x86_64 'mips64el')
license=('GPL')
-url="http://www.cse.unsw.edu.au/~neilb/source/mdadm/"
+url="http://neil.brown.name/blog/mdadm"
groups=('base')
conflicts=('mkinitcpio<0.7')
depends=('glibc')
@@ -18,23 +18,21 @@ source=(ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.bz2
mdadm_install
mdadm_hook
mdadm_udev_install
- disable-werror.patch
- linux-3.0.patch)
+ disable-werror.patch)
+
install=mdadm.install
replaces=('raidtools')
-md5sums=('12ee2fbf3beddb60601fb7a4c4905651'
+md5sums=('d789d6ecb9c1d5ebcc64f0fc52bca92f'
'6df172c8f77b280018cf87eb3d313f29'
'00cbed931db4f15b6ce49e3e7d433966'
'9b01e96b6c3c218fb61628c9281fe688'
'c8c0713f5c7da51822ee6f3911473a1c'
'cd258e1bf430c02a25f40b4329df9f57'
- '4ad87b74a4bc9a34621280abe0e0c3e4'
- 'c499b3edbf2c400c8a1984e18c7ce7fa')
+ '4ad87b74a4bc9a34621280abe0e0c3e4')
build() {
cd $srcdir/$pkgname-$pkgver
patch -Np0 -i ../disable-werror.patch
- patch -Np1 -i ../linux-3.0.patch
make CXFLAGS="$CFLAGS"
# build static mdassemble for Arch's initramfs
make MDASSEMBLE_AUTO=1 mdassemble
diff --git a/core/sqlite3/PKGBUILD b/core/sqlite3/PKGBUILD
index 46322c125..6951af611 100644
--- a/core/sqlite3/PKGBUILD
+++ b/core/sqlite3/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 142094 2011-11-05 09:05:38Z andyrtr $
+# $Id: PKGBUILD 147078 2012-01-21 15:49:21Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgbase="sqlite3"
-pkgname=('sqlite3' 'sqlite3-tcl')
-_amalgamationver=3070900
+pkgname=('sqlite3' 'sqlite3-tcl' 'sqlite3-doc')
+_amalgamationver=3071000
_amalgamationver2=${_amalgamationver/00/}
_docver=${_amalgamationver} #3070700
-pkgver=${_amalgamationver2//0/.}
-pkgrel=1.1
+#pkgver=${_amalgamationver2//0/.}
+pkgver=3.7.10
+pkgrel=1
pkgdesc="A C library that implements an SQL database engine"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
@@ -18,7 +19,8 @@ source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a
http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz
license.txt)
options=('!libtool' '!emptydirs')
-md5sums=('dce303524736fe89a76b8ed29d566352'
+md5sums=('9ed2ca93577b58cfa0d01f64b9312ab9'
+ 'd4c8070ea2cec54b77002c265e680b0f'
'c1cdbc5544034d9012e421e75a5e4890')
build() {
diff --git a/core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch b/core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch
new file mode 100644
index 000000000..3ff89ae43
--- /dev/null
+++ b/core/udev/0001-udevd-kill-hanging-event-processes-after-30-seconds.patch
@@ -0,0 +1,162 @@
+From e64fae5573e566ce4fd9b23c68ac8f3096603314 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers@vrfy.org>
+Date: Wed, 18 Jan 2012 05:06:18 +0100
+Subject: [PATCH] udevd: kill hanging event processes after 30 seconds
+
+Some broken kernel drivers load firmware synchronously in the module init
+path and block modprobe until the firmware request is fulfilled.
+
+The modprobe-generated firmware request is a direct child device of the
+device which caused modprobe to run. Child device event are blocked until
+the parent device is handled. This dead-locks until the kernel firmware
+loading timeout of 60 seconds is reached.
+
+The hanging modprobe event should now time-out and allow the firmware
+event to run before the 60 second kernel timeout.
+---
+ src/udev-event.c | 2 +-
+ src/udevd.c | 62 +++++++++++++++++++++++++++++++++++++++++++----------
+ 2 files changed, 51 insertions(+), 13 deletions(-)
+
+diff --git a/src/udev-event.c b/src/udev-event.c
+index 9bdc518..f0b9548 100644
+--- a/src/udev-event.c
++++ b/src/udev-event.c
+@@ -49,7 +49,7 @@ struct udev_event *udev_event_new(struct udev_device *dev)
+ udev_list_init(udev, &event->run_list, false);
+ event->fd_signal = -1;
+ event->birth_usec = now_usec();
+- event->timeout_usec = 60 * 1000 * 1000;
++ event->timeout_usec = 30 * 1000 * 1000;
+ dbg(event->udev, "allocated event %p\n", event);
+ return event;
+ }
+diff --git a/src/udevd.c b/src/udevd.c
+index 11ab19a..77a1e79 100644
+--- a/src/udevd.c
++++ b/src/udevd.c
+@@ -133,6 +133,7 @@ struct worker {
+ struct udev_monitor *monitor;
+ enum worker_state state;
+ struct event *event;
++ unsigned long long event_start_usec;
+ };
+
+ /* passed from worker to main process */
+@@ -372,6 +373,7 @@ out:
+ close(fd_inotify);
+ close(worker_watch[WRITE_END]);
+ udev_rules_unref(rules);
++ udev_builtin_exit(udev);
+ udev_monitor_unref(worker_monitor);
+ udev_unref(udev);
+ udev_log_close();
+@@ -389,6 +391,7 @@ out:
+ worker->monitor = worker_monitor;
+ worker->pid = pid;
+ worker->state = WORKER_RUNNING;
++ worker->event_start_usec = now_usec();
+ worker->event = event;
+ event->state = EVENT_RUNNING;
+ udev_list_node_append(&worker->node, &worker_list);
+@@ -419,6 +422,7 @@ static void event_run(struct event *event)
+ worker_ref(worker);
+ worker->event = event;
+ worker->state = WORKER_RUNNING;
++ worker->event_start_usec = now_usec();
+ event->state = EVENT_RUNNING;
+ return;
+ }
+@@ -610,9 +614,11 @@ static void worker_returned(int fd_worker)
+ continue;
+
+ /* worker returned */
+- worker->event->exitcode = msg.exitcode;
+- event_queue_delete(worker->event, true);
+- worker->event = NULL;
++ if (worker->event) {
++ worker->event->exitcode = msg.exitcode;
++ event_queue_delete(worker->event, true);
++ worker->event = NULL;
++ }
+ if (worker->state != WORKER_KILLED)
+ worker->state = WORKER_IDLE;
+ worker_unref(worker);
+@@ -796,7 +802,7 @@ static void handle_signal(struct udev *udev, int signo)
+ }
+
+ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {
+- if (worker->event != NULL) {
++ if (worker->event) {
+ err(udev, "worker [%u] failed while handling '%s'\n",
+ pid, worker->event->devpath);
+ worker->event->exitcode = -32;
+@@ -1574,25 +1580,57 @@ int main(int argc, char *argv[])
+ break;
+
+ /* timeout at exit for workers to finish */
+- timeout = 60 * 1000;
+- } else if (udev_list_node_is_empty(&event_list) && children > 2) {
+- /* set timeout to kill idle workers */
+- timeout = 3 * 1000;
+- } else {
++ timeout = 30 * 1000;
++ } else if (udev_list_node_is_empty(&event_list) && children <= 2) {
++ /* we are idle */
+ timeout = -1;
++ } else {
++ /* kill idle or hanging workers */
++ timeout = 3 * 1000;
+ }
+ fdcount = epoll_wait(fd_ep, ev, ARRAY_SIZE(ev), timeout);
+ if (fdcount < 0)
+ continue;
+
+ if (fdcount == 0) {
++ struct udev_list_node *loop;
++
++ /* timeout */
+ if (udev_exit) {
+- info(udev, "timeout, giving up waiting for workers to finish\n");
++ err(udev, "timeout, giving up waiting for workers to finish\n");
+ break;
+ }
+
+- /* timeout - kill idle workers */
+- worker_kill(udev, 2);
++ /* kill idle workers */
++ if (udev_list_node_is_empty(&event_list)) {
++ info(udev, "cleanup idle workers\n");
++ worker_kill(udev, 2);
++ }
++
++ /* check for hanging events */
++ udev_list_node_foreach(loop, &worker_list) {
++ struct worker *worker = node_to_worker(loop);
++
++ if (worker->state != WORKER_RUNNING)
++ continue;
++
++ if ((now_usec() - worker->event_start_usec) > 30 * 1000 * 1000) {
++ err(udev, "worker [%u] timeout, kill it\n", worker->pid,
++ worker->event ? worker->event->devpath : "<idle>");
++ kill(worker->pid, SIGKILL);
++ worker->state = WORKER_KILLED;
++ /* drop reference taken for state 'running' */
++ worker_unref(worker);
++ if (worker->event) {
++ err(udev, "seq %llu '%s' killed\n",
++ udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
++ worker->event->exitcode = -64;
++ event_queue_delete(worker->event, true);
++ worker->event = NULL;
++ }
++ }
++ }
++
+ }
+
+ is_worker = is_signal = is_inotify = is_netlink = is_ctrl = false;
+--
+1.7.8.3
+
diff --git a/core/udev/PKGBUILD b/core/udev/PKGBUILD
index 574658277..5564ec3b9 100644
--- a/core/udev/PKGBUILD
+++ b/core/udev/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 142408 2011-11-09 04:55:56Z tomegun $
+# $Id: PKGBUILD 147123 2012-01-22 11:00:58Z tpowa $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
@@ -6,27 +6,28 @@
pkgbase="udev"
pkgname=('udev' 'udev-compat')
-pkgver=175
-pkgrel=1.1
+pkgver=178
+pkgrel=1
arch=(i686 x86_64 mips64el)
-url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
+url="http://git.kernel.org/?p=linux/hotplug/udev.git;a=summary"
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-arch.rules)
+makedepends=('gobject-introspection' 'gperf' 'libxslt' 'usbutils' 'kmod')
+source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.xz)
+md5sums=('173cc6061e3a82dd6e9a1a5cf767a858')
build() {
cd $srcdir/$pkgbase-$pkgver
- ./configure --sysconfdir=/etc\
- --with-rootlibdir=/lib\
- --libexecdir=/lib/udev\
- --sbindir=/sbin\
- --with-systemdsystemunitdir=/lib/systemd/system\
- --disable-rule-generator\
+ ./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
@@ -34,28 +35,26 @@ build() {
package_udev() {
pkgdesc="The userspace dev tools (udev)"
- depends=('util-linux' 'libusb-compat' 'glib2' 'module-init-tools' 'pciutils')
+ depends=('util-linux' 'libusb-compat' 'glib2' 'kmod' 'pciutils' 'usbutils' '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-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
# create framebuffer blacklist
- mkdir -p $pkgdir/lib/modprobe.d/
+ 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
+ # 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
@@ -71,31 +70,34 @@ 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 -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 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
+ # 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).
- 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
+ install -d -m755 ${pkgdir}/lib/udev/devices
+ cd ${pkgdir}/lib/udev/devices
- # 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
+ 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=('2fc9c1efcbde98e3d73ffee7a77aea47'
- '3da2bb9891592f9438a07bd641465531')
+md5sums=('173cc6061e3a82dd6e9a1a5cf767a858')
diff --git a/core/udev/udev.install b/core/udev/udev.install
index 2cc8caaa0..c49c5006f 100644
--- a/core/udev/udev.install
+++ b/core/udev/udev.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
post_upgrade() {
- if [ "$(vercmp $2 174)" -lt 0 ]; then
+ if [ "$(vercmp $2 175)" -lt 0 ]; then
echo "ATTENTION UDEV:"
echo "----------"
if [ "$(vercmp $2 168)" -lt 0 ]; then
@@ -33,8 +33,6 @@ post_upgrade() {
echo " --"
fi
if [ "$(vercmp $2 172)" -lt 0 ]; then
- echo "Support for non-devtmpfs self-compiled kernels have been moved to udev-compat."
- echo " --"
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."
@@ -46,17 +44,22 @@ post_upgrade() {
echo "by X."
echo " --"
fi
- 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 and"
- echo "devtmpfs-less boot, this only affects fresh installs."
+ 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
}