summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-04-07 00:01:17 +0000
committerroot <root@rshg054.dnsready.net>2012-04-07 00:01:17 +0000
commit3d65494a8eda056377febda4642ce992e69a9371 (patch)
treedae57e04ca5f7d7490acbde87206eaa62695109d /core
parentd9c1fc1bcca8fd5cd3566fc6b183fe23065778bc (diff)
Sat Apr 7 00:01:16 UTC 2012
Diffstat (limited to 'core')
-rw-r--r--core/dhcpcd/PKGBUILD10
-rw-r--r--core/kmod/0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch50
-rw-r--r--core/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch93
-rw-r--r--core/kmod/PKGBUILD22
-rw-r--r--core/kmod/depmod-search.conf2
-rw-r--r--core/pcmciautils/PKGBUILD16
-rw-r--r--core/pcmciautils/initcpio-install-pcmcia22
-rw-r--r--core/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch80
-rw-r--r--core/udev/0002-reinstate-TIMEOUT-handling.patch146
-rw-r--r--core/udev/PKGBUILD39
-rw-r--r--core/udev/initcpio-install-udev6
-rw-r--r--core/util-linux/PKGBUILD19
12 files changed, 458 insertions, 47 deletions
diff --git a/core/dhcpcd/PKGBUILD b/core/dhcpcd/PKGBUILD
index bf8da587f..ce8ac114e 100644
--- a/core/dhcpcd/PKGBUILD
+++ b/core/dhcpcd/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 154510 2012-03-29 17:58:41Z ronald $
+# $Id: PKGBUILD 155703 2012-04-05 10:02:36Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Tom Killian <tom.archlinux.org>
# Contributor: Judd Vinet <jvinet.zeroflux.org>
pkgname=dhcpcd
-pkgver=5.5.5
+pkgver=5.5.6
pkgrel=1
pkgdesc="RFC2131 compliant DHCP client daemon"
url="http://roy.marples.name/dhcpcd/"
@@ -16,16 +16,12 @@ backup=('etc/conf.d/dhcpcd' 'etc/dhcpcd.conf')
options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory
source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2" \
'dhcpcd.conf.d')
-sha1sums=('1856ad1535f2c7551cefcb492af24d345c6a1b50'
+sha1sums=('7f9ca207bce051252c0acb6a6cae3de22babcb20'
'b67b9ce6a2faaca75fea356966a16be2283b7db0')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- # remove net-tools dep (upstream now)
-# patch -Np1 -i ${srcdir}/0001-Set-hostname-via-proc-if-file-is-available.patch
-# patch -Np1 -i ${srcdir}/0001-set-MTU-via-sysfs-if-file-is-available.patch
-
# configure variables
./configure --libexecdir=/usr/lib/dhcpcd --dbdir=/var/lib/dhcpcd \
--rundir=/run
diff --git a/core/kmod/0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch b/core/kmod/0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch
new file mode 100644
index 000000000..bf2c3501f
--- /dev/null
+++ b/core/kmod/0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch
@@ -0,0 +1,50 @@
+From 666ba68a0635048aea0db70cd9ec61aea9b61ed2 Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg@jklm.no>
+Date: Sat, 3 Mar 2012 12:37:06 +0100
+Subject: [PATCH 1/2] split usr: read configs from /lib/{depmod.d,modprobe.d}
+
+This allows rootprefix to be set to /usr, even if not all other packages
+have been fixed to read from this dir.
+---
+ libkmod/libkmod.c | 5 +++--
+ tools/kmod-depmod.c | 1 +
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c
+index 36ca629..12c1112 100644
+--- a/libkmod/libkmod.c
++++ b/libkmod/libkmod.c
+@@ -62,6 +62,7 @@ static const char *default_config_paths[] = {
+ SYSCONFDIR "/modprobe.d",
+ "/run/modprobe.d",
+ ROOTPREFIX "/lib/modprobe.d",
++ "/lib/modprobe.d",
+ NULL
+ };
+
+@@ -223,8 +224,8 @@ static char *get_kernel_release(const char *dirname)
+ * @config_paths: ordered array of paths (directories or files) where
+ * to load from user-defined configuration parameters such as
+ * alias, blacklists, commands (install, remove). If
+- * NULL defaults to /run/modprobe.d, /etc/modprobe.d and
+- * $rootprefix/lib/modprobe.d. Give an empty vector if
++ * NULL defaults to /run/modprobe.d, /etc/modprobe.d,
++ * $rootprefix/lib/modprobe.d and /lib/modprobe.d. Give an empty vector if
+ * configuration should not be read. This array must be null
+ * terminated.
+ *
+diff --git a/tools/kmod-depmod.c b/tools/kmod-depmod.c
+index 1871e18..7bb1c5d 100644
+--- a/tools/kmod-depmod.c
++++ b/tools/kmod-depmod.c
+@@ -58,6 +58,7 @@ static const char *default_cfg_paths[] = {
+ "/run/depmod.d",
+ SYSCONFDIR "/depmod.d",
+ ROOTPREFIX "/lib/depmod.d",
++ "/lib/depmod.d",
+ NULL
+ };
+
+--
+1.7.9.5
+
diff --git a/core/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch b/core/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch
new file mode 100644
index 000000000..f39f36ace
--- /dev/null
+++ b/core/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch
@@ -0,0 +1,93 @@
+From 53e7e0e42428770578ca0d54d0a9540f498f917f Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg@jklm.no>
+Date: Sat, 31 Mar 2012 12:17:39 +0200
+Subject: [PATCH 2/2] config: hardcode the path to modules to be /lib/modules
+
+This means that we can move the configuration paths from /lib
+to /usr/lib without having to touch the kernel and related
+packages.
+
+That can be dealt with separately at a later location, in which case
+all we have to do is revert this patch.
+
+Signed-off-by: Tom Gundersen <teg@jklm.no>
+---
+ libkmod/libkmod.c | 2 +-
+ tools/kmod-depmod.c | 2 +-
+ tools/kmod-modinfo.c | 4 ++--
+ tools/kmod-modprobe.c | 4 ++--
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c
+index 12c1112..11edfa0 100644
+--- a/libkmod/libkmod.c
++++ b/libkmod/libkmod.c
+@@ -196,7 +196,7 @@ static int log_priority(const char *priority)
+ return 0;
+ }
+
+-static const char *dirname_default_prefix = ROOTPREFIX "/lib/modules";
++static const char *dirname_default_prefix = "/lib/modules";
+
+ static char *get_kernel_release(const char *dirname)
+ {
+diff --git a/tools/kmod-depmod.c b/tools/kmod-depmod.c
+index 7bb1c5d..454d538 100644
+--- a/tools/kmod-depmod.c
++++ b/tools/kmod-depmod.c
+@@ -2634,7 +2634,7 @@ static int do_depmod(int argc, char *argv[])
+ }
+
+ cfg.dirnamelen = snprintf(cfg.dirname, PATH_MAX,
+- "%s" ROOTPREFIX "/lib/modules/%s",
++ "%s/lib/modules/%s",
+ root == NULL ? "" : root, cfg.kversion);
+
+ if (optind == argc)
+diff --git a/tools/kmod-modinfo.c b/tools/kmod-modinfo.c
+index aa5223f..b13cd4b 100644
+--- a/tools/kmod-modinfo.c
++++ b/tools/kmod-modinfo.c
+@@ -339,7 +339,7 @@ static void help(const char *progname)
+ "\t-0, --null Use \\0 instead of \\n\n"
+ "\t-F, --field=FIELD Print only provided FIELD\n"
+ "\t-k, --set-version=VERSION Use VERSION instead of `uname -r`\n"
+- "\t-b, --basedir=DIR Use DIR as filesystem root for " ROOTPREFIX "/lib/modules\n"
++ "\t-b, --basedir=DIR Use DIR as filesystem root for /lib/modules\n"
+ "\t-V, --version Show version\n"
+ "\t-h, --help Show this help\n",
+ progname);
+@@ -439,7 +439,7 @@ static int do_modinfo(int argc, char *argv[])
+ }
+ kversion = u.release;
+ }
+- snprintf(dirname_buf, sizeof(dirname_buf), "%s" ROOTPREFIX "/lib/modules/%s",
++ snprintf(dirname_buf, sizeof(dirname_buf), "%s/lib/modules/%s",
+ root, kversion);
+ dirname = dirname_buf;
+ }
+diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c
+index 4760682..ccb41d8 100644
+--- a/tools/kmod-modprobe.c
++++ b/tools/kmod-modprobe.c
+@@ -128,7 +128,7 @@ static void help(const char *progname)
+ "\t-n, --show Same as --dry-run\n"
+
+ "\t-C, --config=FILE Use FILE instead of default search paths\n"
+- "\t-d, --dirname=DIR Use DIR as filesystem root for " ROOTPREFIX "/lib/modules\n"
++ "\t-d, --dirname=DIR Use DIR as filesystem root for /lib/modules\n"
+ "\t-S, --set-version=VERSION Use VERSION instead of `uname -r`\n"
+
+ "\t-s, --syslog print to syslog, not stderr\n"
+@@ -973,7 +973,7 @@ static int do_modprobe(int argc, char **orig_argv)
+ kversion = u.release;
+ }
+ snprintf(dirname_buf, sizeof(dirname_buf),
+- "%s" ROOTPREFIX "/lib/modules/%s", root,
++ "%s/lib/modules/%s", root,
+ kversion);
+ dirname = dirname_buf;
+ }
+--
+1.7.9.5
+
diff --git a/core/kmod/PKGBUILD b/core/kmod/PKGBUILD
index 3f933fae3..88ad2f13d 100644
--- a/core/kmod/PKGBUILD
+++ b/core/kmod/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 154256 2012-03-25 02:41:50Z dreisner $
+# $Id: PKGBUILD 155732 2012-04-06 00:04:08Z tomegun $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=kmod
pkgver=7
-pkgrel=1
+pkgrel=2
pkgdesc="Linux kernel module handling"
arch=('i686' 'x86_64')
url='http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary'
@@ -14,16 +14,24 @@ provides=('module-init-tools=3.16')
conflicts=('module-init-tools')
replaces=('module-init-tools')
source=("ftp://ftp.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar.xz"
- "depmod-search.conf")
+ "depmod-search.conf"
+ "0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch"
+ "0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch")
md5sums=('7bd916ae1c8a38e7697fdd8118bc98eb'
- '09d8af2ba37c5902d904275cb27f1b09')
+ 'dd62cbf62bd8f212f51ef8c43bec9a77'
+ 'ba73b9e98db1abbf41274f922fcfbd55'
+ 'c9af56636c5667cf4ce3a31ea56e03d9')
build() {
cd "$pkgname-$pkgver"
+ patch -p1 -i ../0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch
+ patch -p1 -i ../0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch
+
./configure \
--sysconfdir=/etc \
- --with-zlib
+ --with-zlib \
+ --with-rootprefix=/usr
make
}
@@ -36,7 +44,7 @@ package() {
make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
# extra directories
- install -dm755 "$pkgdir"/{etc,lib}/{depmod,modprobe}.d "$pkgdir/sbin"
+ install -dm755 "$pkgdir"/{etc,usr/lib}/{depmod,modprobe}.d "$pkgdir/sbin"
# add symlinks to kmod
ln -s ../usr/bin/kmod "$pkgdir/sbin/modprobe"
@@ -47,7 +55,7 @@ package() {
done
# install depmod.d file for search/ dir
- install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/lib/depmod.d/search.conf"
+ install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/usr/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
index 240606a88..36f2cf7db 100644
--- a/core/kmod/depmod-search.conf
+++ b/core/kmod/depmod-search.conf
@@ -1,5 +1,5 @@
#
-# /lib/depmod.d/search.conf
+# /usr/lib/depmod.d/search.conf
#
search updates extramodules built-in
diff --git a/core/pcmciautils/PKGBUILD b/core/pcmciautils/PKGBUILD
index 59959a831..fcc599665 100644
--- a/core/pcmciautils/PKGBUILD
+++ b/core/pcmciautils/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 153635 2012-03-16 22:34:37Z tomegun $
+# $Id: PKGBUILD 155725 2012-04-06 00:03:55Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=pcmciautils
pkgver=018
-pkgrel=2
+pkgrel=4
pkgdesc="Utilities for inserting and removing PCMCIA cards"
arch=(i686 x86_64)
url="http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
@@ -13,17 +13,23 @@ groups=('base')
depends=('udev' 'sysfsutils')
conflicts=('pcmcia-cs')
# source=(http://kernel.org/pub/linux/utils/kernel/pcmcia/${pkgname}-${pkgver}.tar.bz2) broken due to breakin
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz)
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz
+ initcpio-install-pcmcia)
options=(!makeflags)
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- sed -i -e 's,/usr/bin/install,/bin/install,g' Makefile
+ sed -i -e 's,/usr/bin/install,install,g;
+ s,/lib/udev,/usr/lib/udev,g' Makefile
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
+
+ # install the mkinitpcio hook
+ install -D -m644 ../initcpio-install-pcmcia ${pkgdir}/usr/lib/initcpio/install/pcmcia
}
-md5sums=('964c802994677a71b38ec56554aa229f')
+md5sums=('964c802994677a71b38ec56554aa229f'
+ '2659576a4637c58c4e79a96f8e43e316')
diff --git a/core/pcmciautils/initcpio-install-pcmcia b/core/pcmciautils/initcpio-install-pcmcia
new file mode 100644
index 000000000..71052d6b2
--- /dev/null
+++ b/core/pcmciautils/initcpio-install-pcmcia
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+build() {
+ FILES="/etc/pcmcia/config.opts"
+ MODULES=" $(checked_modules '/drivers/pcmcia/' | grep -ve 'sound' -e 'net') $(checked_modules '/ide/legacy')"
+
+ [[ $MODULES ]] && MODULES+=" sd_mod?"
+
+ add_binary "/usr/lib/udev/pcmcia-socket-startup"
+ add_binary "/usr/lib/udev/pcmcia-check-broken-cis"
+ add_file "/usr/lib/udev/rules.d/60-pcmcia.rules"
+}
+
+help() {
+ cat <<HELPEOF
+This hook loads the necessary modules for a pcmcia root device. Detection will
+take place at runtime. To minimize the modules in the image, add the autodetect
+hook too.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/core/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch b/core/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch
new file mode 100644
index 000000000..d4d162167
--- /dev/null
+++ b/core/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch
@@ -0,0 +1,80 @@
+From f2bdace5bb68d4f3162f886b27210762d8b115b8 Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg@jklm.no>
+Date: Sat, 3 Mar 2012 12:28:15 +0100
+Subject: [PATCH 1/2] split /usr: always read config files from /lib/udev
+
+This means we don't need a flagday in order to move udev to use
+/usr/lib/udev/rules.d
+---
+ src/libudev.c | 25 ++++++++++++++++---------
+ 1 file changed, 16 insertions(+), 9 deletions(-)
+
+diff --git a/src/libudev.c b/src/libudev.c
+index be24329..754d713 100644
+--- a/src/libudev.c
++++ b/src/libudev.c
+@@ -43,8 +43,8 @@ struct udev {
+ void *userdata;
+ char *sys_path;
+ char *dev_path;
+- char *rules_path[4];
+- unsigned long long rules_path_ts[4];
++ char *rules_path[5];
++ unsigned long long rules_path_ts[5];
+ int rules_path_count;
+ char *run_path;
+ struct udev_list properties_list;
+@@ -255,21 +255,26 @@ UDEV_EXPORT struct udev *udev_new(void)
+ goto err;
+
+ if (udev->rules_path[0] == NULL) {
+- /* /usr/lib/udev -- system rules */
+- udev->rules_path[0] = strdup(PKGLIBEXECDIR "/rules.d");
++ /* /lib/udev -- compat for system rules */
++ udev->rules_path[0] = strdup("/lib/udev/rules.d");
+ if (!udev->rules_path[0])
++ goto err;
++
++ /* /usr/lib/udev -- system rules */
++ udev->rules_path[1] = strdup(PKGLIBEXECDIR "/rules.d");
++ if (!udev->rules_path[1])
+ goto err;
+
+ /* /etc/udev -- local administration rules */
+- udev->rules_path[1] = strdup(SYSCONFDIR "/udev/rules.d");
+- if (!udev->rules_path[1])
++ udev->rules_path[2] = strdup(SYSCONFDIR "/udev/rules.d");
++ if (!udev->rules_path[2])
+ goto err;
+
+ /* /run/udev -- runtime rules */
+- if (asprintf(&udev->rules_path[2], "%s/rules.d", udev->run_path) < 0)
++ if (asprintf(&udev->rules_path[3], "%s/rules.d", udev->run_path) < 0)
+ goto err;
+
+- udev->rules_path_count = 3;
++ udev->rules_path_count = 4;
+ }
+
+ dbg(udev, "context %p created\n", udev);
+@@ -278,7 +283,8 @@ UDEV_EXPORT struct udev *udev_new(void)
+ dbg(udev, "dev_path='%s'\n", udev->dev_path);
+ dbg(udev, "sys_path='%s'\n", udev->sys_path);
+ dbg(udev, "run_path='%s'\n", udev->run_path);
+- dbg(udev, "rules_path='%s':'%s':'%s'\n", udev->rules_path[0], udev->rules_path[1], udev->rules_path[2]);
++ dbg(udev, "rules_path='%s':'%s':'%s':'%s'\n", udev->rules_path[0], udev->rules_path[1],
++ udev->rules_path[2], udev->rules_path[3]);
+ free(config_file);
+ return udev;
+ err:
+@@ -325,6 +331,7 @@ UDEV_EXPORT void udev_unref(struct udev *udev)
+ free(udev->rules_path[0]);
+ free(udev->rules_path[1]);
+ free(udev->rules_path[2]);
++ free(udev->rules_path[3]);
+ free(udev->run_path);
+ dbg(udev, "context %p released\n", udev);
+ free(udev);
+--
+1.7.9.5
+
diff --git a/core/udev/0002-reinstate-TIMEOUT-handling.patch b/core/udev/0002-reinstate-TIMEOUT-handling.patch
new file mode 100644
index 000000000..9d1d36fb6
--- /dev/null
+++ b/core/udev/0002-reinstate-TIMEOUT-handling.patch
@@ -0,0 +1,146 @@
+From 0a581062ee3e31e0c2aedc5eb64c60f52868b17f Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg@jklm.no>
+Date: Thu, 15 Mar 2012 02:12:43 +0100
+Subject: [PATCH 2/2] reinstate TIMEOUT= handling
+
+Without treating events with timeouts specially some drivers would cause a
+30 seconds stall on boot: .
+
+I also received reports of some drivers not working at all, even after the
+timeout.
+
+We will remove this patch when more drivers have been fixed in the kernel (3.4?).
+
+This reverts 43d5c5f03645c4b842659f9b5bd0ae465e885e92 and
+57c6f8ae5f52a6e8ffc66a54966346f733dded39.
+---
+ TODO | 2 ++
+ src/libudev-device.c | 19 +++++++++++++++++++
+ src/libudev-private.h | 1 +
+ src/udevd.c | 13 ++++++++++---
+ 4 files changed, 32 insertions(+), 3 deletions(-)
+
+diff --git a/TODO b/TODO
+index 36e8440..c2e59b6 100644
+--- a/TODO
++++ b/TODO
+@@ -1,6 +1,8 @@
+ - find a way to tell udev to not cancel firmware
+ requests in initramfs
+
++ - remove TIMEOUT= handling
++
+ - move /lib/udev/devices/ to tmpfiles
+
+ - trigger --subsystem-match=usb/usb_device
+diff --git a/src/libudev-device.c b/src/libudev-device.c
+index 10f28b8..639c367 100644
+--- a/src/libudev-device.c
++++ b/src/libudev-device.c
+@@ -68,6 +68,7 @@ struct udev_device {
+ struct udev_list tags_list;
+ unsigned long long int seqnum;
+ unsigned long long int usec_initialized;
++ int timeout;
+ int devlink_priority;
+ int refcount;
+ dev_t devnum;
+@@ -160,6 +161,21 @@ static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum)
+ return 0;
+ }
+
++int udev_device_get_timeout(struct udev_device *udev_device)
++{
++ return udev_device->timeout;
++}
++
++static int udev_device_set_timeout(struct udev_device *udev_device, int timeout)
++{
++ char num[32];
++
++ udev_device->timeout = timeout;
++ snprintf(num, sizeof(num), "%u", timeout);
++ udev_device_add_property(udev_device, "TIMEOUT", num);
++ return 0;
++}
++
+ const char *udev_device_get_devpath_old(struct udev_device *udev_device)
+ {
+ return udev_device->devpath_old;
+@@ -414,6 +430,8 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device,
+ udev_device_set_devpath_old(udev_device, &property[12]);
+ } else if (strncmp(property, "SEQNUM=", 7) == 0) {
+ udev_device_set_seqnum(udev_device, strtoull(&property[7], NULL, 10));
++ } else if (strncmp(property, "TIMEOUT=", 8) == 0) {
++ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10));
+ } else if (strncmp(property, "IFINDEX=", 8) == 0) {
+ udev_device_set_ifindex(udev_device, strtoull(&property[8], NULL, 10));
+ } else if (strncmp(property, "DEVMODE=", 8) == 0) {
+@@ -599,6 +617,7 @@ struct udev_device *udev_device_new(struct udev *udev)
+ udev_list_init(udev, &udev_device->sysattr_value_list, true);
+ udev_list_init(udev, &udev_device->sysattr_list, false);
+ udev_list_init(udev, &udev_device->tags_list, true);
++ udev_device->timeout = -1;
+ udev_device->watch_handle = -1;
+ /* copy global properties */
+ udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev))
+diff --git a/src/libudev-private.h b/src/libudev-private.h
+index 5f5c64a..ec63b67 100644
+--- a/src/libudev-private.h
++++ b/src/libudev-private.h
+@@ -87,6 +87,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device);
+ void udev_device_set_is_initialized(struct udev_device *udev_device);
+ int udev_device_add_tag(struct udev_device *udev_device, const char *tag);
+ void udev_device_cleanup_tags_list(struct udev_device *udev_device);
++int udev_device_get_timeout(struct udev_device *udev_device);
+ unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device);
+ void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized);
+ int udev_device_get_devlink_priority(struct udev_device *udev_device);
+diff --git a/src/udevd.c b/src/udevd.c
+index 1702217..88e9272 100644
+--- a/src/udevd.c
++++ b/src/udevd.c
+@@ -401,7 +401,7 @@ out:
+ }
+ }
+
+-static void event_run(struct event *event)
++static void event_run(struct event *event, bool force)
+ {
+ struct udev_list_node *loop;
+
+@@ -427,7 +427,7 @@ static void event_run(struct event *event)
+ return;
+ }
+
+- if (children >= children_max) {
++ if (!force && children >= children_max) {
+ if (children_max > 1)
+ info(event->udev, "maximum number (%i) of children reached\n", children);
+ return;
+@@ -461,6 +461,13 @@ static int event_queue_insert(struct udev_device *dev)
+
+ event->state = EVENT_QUEUED;
+ udev_list_node_append(&event->node, &event_list);
++
++ /* run all events with a timeout set immediately */
++ if (udev_device_get_timeout(dev) > 0) {
++ event_run(event, true);
++ return 0;
++ }
++
+ return 0;
+ }
+
+@@ -577,7 +584,7 @@ static void event_queue_start(struct udev *udev)
+ continue;
+ }
+
+- event_run(event);
++ event_run(event, false);
+ }
+ }
+
+--
+1.7.9.5
+
diff --git a/core/udev/PKGBUILD b/core/udev/PKGBUILD
index 114f524b9..082ed6213 100644
--- a/core/udev/PKGBUILD
+++ b/core/udev/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 153633 2012-03-16 22:34:33Z tomegun $
+# $Id: PKGBUILD 155730 2012-04-06 00:04:05Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
@@ -6,15 +6,16 @@
pkgname=udev
pkgver=181
-pkgrel=5
+pkgrel=9
pkgdesc="The userspace dev tools (udev)"
-depends=('util-linux' 'libusb-compat' 'glib2' 'kmod' 'pciutils' 'usbutils' 'acl')
+depends=('util-linux' 'glib2' 'kmod' 'pciutils' 'usbutils' 'bash' 'acl')
install=udev.install
arch=(i686 x86_64)
license=('GPL')
-makedepends=('gobject-introspection' 'gperf' 'libxslt' 'usbutils' 'kmod')
+makedepends=('gobject-introspection' 'gperf' 'libxslt')
source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.xz
- 0001-reinstate-TIMEOUT-handling.patch
+ 0001-split-usr-always-read-config-files-from-lib-udev.patch
+ 0002-reinstate-TIMEOUT-handling.patch
initcpio-hooks-udev
initcpio-install-udev)
url="http://git.kernel.org/?p=linux/hotplug/udev.git;a=summary"
@@ -25,19 +26,23 @@ options=(!makeflags !libtool)
build() {
cd $srcdir/$pkgname-$pkgver
- patch -p1 -i ../0001-reinstate-TIMEOUT-handling.patch
+ patch -p1 -i ../0001-split-usr-always-read-config-files-from-lib-udev.patch
+ patch -p1 -i ../0002-reinstate-TIMEOUT-handling.patch
./configure --prefix=/usr \
- --with-rootprefix= \
--sysconfdir=/etc \
- --libdir=/usr/lib \
- --libexecdir=/lib \
- --with-systemdsystemunitdir=/lib/systemd/system \
+ --libexecdir=/usr/lib \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-firmware-path=/usr/lib/firmware/updates:/lib/firmware/updates:/usr/lib/firmware:/lib/firmware \
--enable-udev_acl
make
}
-
+
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=${pkgdir} install
@@ -47,20 +52,24 @@ package() {
install -D -m644 ../initcpio-install-udev ${pkgdir}/usr/lib/initcpio/install/udev
# udevd moved, symlink to make life easy for restarting udevd manually
- ln -s ../../lib/udev/udevd ${pkgdir}/usr/bin/udevd
+ ln -s ../lib/udev/udevd ${pkgdir}/usr/bin/udevd
+ # and for users of the old /lib location (to go away soon)
+ mkdir -p ${pkgdir}/lib/udev
+ ln -s ../../usr/lib/udev/udevd ${pkgdir}/lib/udev/udevd
# the path to udevadm is hardcoded in some places
install -d ${pkgdir}/sbin
ln -s ../usr/bin/udevadm ${pkgdir}/sbin/udevadm
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
- for i in $pkgdir/lib/udev/rules.d/*.rules; do
+ for i in $pkgdir/usr/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
}
md5sums=('0d7af750702620a871b9f9b98d8ad859'
- 'f758b3e62ab77a1a6b7be12bb900cb2d'
+ '02a0dbbdcba6c1eae3ef65b6b06bde1f'
+ 'a9fae85491a08d7759388c605389a8c5'
'a4dd853050bf2e0ae6b2e3d2c75499c2'
- 'ee0bfe91a20fff12cc25ab1d1e024853')
+ 'd2b16edc6d806b5dafdbbad43ae5a3de')
diff --git a/core/udev/initcpio-install-udev b/core/udev/initcpio-install-udev
index e7e2c0f60..6bc9cfb28 100644
--- a/core/udev/initcpio-install-udev
+++ b/core/udev/initcpio-install-udev
@@ -4,14 +4,14 @@ build() {
FILES="/etc/udev/udev.conf"
SCRIPT="udev"
- add_binary /lib/udev/udevd
+ add_binary /usr/lib/udev/udevd
add_binary /usr/bin/udevadm
for rules in 50-udev-default.rules 60-persistent-storage.rules 80-drivers.rules; do
- add_file "/lib/udev/rules.d/$rules"
+ add_file "/usr/lib/udev/rules.d/$rules"
done
for tool in ata_id scsi_id; do
- add_file "/lib/udev/$tool"
+ add_file "/usr/lib/udev/$tool"
done
}
diff --git a/core/util-linux/PKGBUILD b/core/util-linux/PKGBUILD
index 69bc92981..6760067ad 100644
--- a/core/util-linux/PKGBUILD
+++ b/core/util-linux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 153637 2012-03-16 22:34:40Z tomegun $
+# $Id: PKGBUILD 155728 2012-04-06 00:04:01Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=util-linux
-pkgver=2.21
-pkgrel=6
+pkgver=2.21.1
+pkgrel=2
pkgdesc="Miscellaneous system utilities for Linux"
url="http://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
@@ -14,8 +14,7 @@ conflicts=('util-linux-ng')
provides=("util-linux-ng=${pkgver}")
license=('GPL2')
options=('!libtool')
-source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.xz
- stable-fixes-2.21.patch)
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.21/${pkgname}-${pkgver}.tar.xz)
optdepends=('perl: for chkdupexe support')
build() {
@@ -24,10 +23,9 @@ build() {
# hardware clock
sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h
- patch -p1 -i ../stable-fixes-2.21.patch
-
./configure --prefix=/usr \
--libdir=/usr/lib \
+ --enable-fs-paths-extra=/usr/bin:/usr/sbin \
--enable-write \
--enable-raw \
--disable-wall \
@@ -36,6 +34,10 @@ build() {
make
}
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -48,5 +50,4 @@ package() {
# delete stray empty dir, fixed upstream
rm -r usr/share/man/ru
}
-md5sums=('208aa058f4117759d2939d1be7d662fc'
- '415b850a4efa9174cd9c34022949f177')
+md5sums=('ad602dcd528f340b1329cfa6200d8f80')