diff options
author | root <root@rshg054.dnsready.net> | 2012-04-07 00:01:17 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-04-07 00:01:17 +0000 |
commit | 3d65494a8eda056377febda4642ce992e69a9371 (patch) | |
tree | dae57e04ca5f7d7490acbde87206eaa62695109d /core | |
parent | d9c1fc1bcca8fd5cd3566fc6b183fe23065778bc (diff) |
Sat Apr 7 00:01:16 UTC 2012
Diffstat (limited to 'core')
-rw-r--r-- | core/dhcpcd/PKGBUILD | 10 | ||||
-rw-r--r-- | core/kmod/0001-split-usr-read-configs-from-lib-depmod.d-modprobe.d.patch | 50 | ||||
-rw-r--r-- | core/kmod/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch | 93 | ||||
-rw-r--r-- | core/kmod/PKGBUILD | 22 | ||||
-rw-r--r-- | core/kmod/depmod-search.conf | 2 | ||||
-rw-r--r-- | core/pcmciautils/PKGBUILD | 16 | ||||
-rw-r--r-- | core/pcmciautils/initcpio-install-pcmcia | 22 | ||||
-rw-r--r-- | core/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch | 80 | ||||
-rw-r--r-- | core/udev/0002-reinstate-TIMEOUT-handling.patch | 146 | ||||
-rw-r--r-- | core/udev/PKGBUILD | 39 | ||||
-rw-r--r-- | core/udev/initcpio-install-udev | 6 | ||||
-rw-r--r-- | core/util-linux/PKGBUILD | 19 |
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') |