summaryrefslogtreecommitdiff
path: root/testing/udev
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2012-05-28 20:14:47 +0000
committerParabola <dev@list.parabolagnulinux.org>2012-05-28 20:14:47 +0000
commitedec45419def1b81bd663a2859684ef55ba56269 (patch)
treecaa3c2d5f4e55b38e7740a39d80a21507679c586 /testing/udev
parent483f7de4ab6a706517279a24d2efc969f4a1996d (diff)
Mon May 28 20:14:39 UTC 2012
Diffstat (limited to 'testing/udev')
-rw-r--r--testing/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch79
-rw-r--r--testing/udev/0002-reinstate-TIMEOUT-handling.patch146
-rw-r--r--testing/udev/PKGBUILD76
-rw-r--r--testing/udev/initcpio-hooks-udev20
-rw-r--r--testing/udev/initcpio-install-udev26
-rw-r--r--testing/udev/udev.install59
6 files changed, 0 insertions, 406 deletions
diff --git a/testing/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch b/testing/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch
deleted file mode 100644
index 7873dc337..000000000
--- a/testing/udev/0001-split-usr-always-read-config-files-from-lib-udev.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 12250c0acf747d4ed538927ad7604356b93fb444 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 | 23 +++++++++++++++--------
- 1 file changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/src/libudev.c b/src/libudev.c
-index d954dae..4da6309 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,9 +255,14 @@ 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;
-
- /* /run/udev -- runtime rules */
-@@ -265,11 +270,11 @@ UDEV_EXPORT struct udev *udev_new(void)
- goto err;
-
- /* /etc/udev -- local administration rules */
-- udev->rules_path[1] = strdup(SYSCONFDIR "/udev/rules.d");
-- if (!udev->rules_path[1])
-+ udev->rules_path[3] = strdup(SYSCONFDIR "/udev/rules.d");
-+ if (!udev->rules_path[3])
- 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.10
-
diff --git a/testing/udev/0002-reinstate-TIMEOUT-handling.patch b/testing/udev/0002-reinstate-TIMEOUT-handling.patch
deleted file mode 100644
index edbbf1d32..000000000
--- a/testing/udev/0002-reinstate-TIMEOUT-handling.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 629d840316280cffcc724fac41047374a7685490 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 8b8b9c8..3d26e89 100644
---- a/TODO
-+++ b/TODO
-@@ -7,6 +7,8 @@
-
- - move /usr/lib/udev/devices/ to tmpfiles
-
-+ - remove TIMEOUT= handling
-+
- - trigger --subsystem-match=usb/usb_device
-
- - kill rules_generator
-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.10
-
diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD
deleted file mode 100644
index f6bc9930a..000000000
--- a/testing/udev/PKGBUILD
+++ /dev/null
@@ -1,76 +0,0 @@
-# $Id: PKGBUILD 159357 2012-05-22 12:47:02Z 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>
-
-pkgname=udev
-pkgver=182
-pkgrel=4
-pkgdesc="The userspace dev tools (udev)"
-depends=('util-linux' 'glib2' 'kmod' 'hwids' 'bash' 'acl')
-install=udev.install
-arch=(i686 x86_64)
-license=('GPL')
-makedepends=('gobject-introspection' 'gperf' 'libxslt')
-source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.xz
- 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"
-backup=(etc/udev/udev.conf)
-groups=('base')
-options=(!makeflags !libtool)
-md5sums=('023877e6cc0d907994b8c648beab542b'
- '0fa3eac115ad0140af1582d941b15f2c'
- '94b816896bf23275c0598fc8e07270c3'
- 'e433c11d38cf4f877b41d06e2753ebe0'
- 'e6faf4c3fe456f10d8efd2487d5e3cb7')
-
-build() {
- cd $srcdir/$pkgname-$pkgver
-
- 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 \
- --sysconfdir=/etc \
- --libexecdir=/usr/lib \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
- --with-firmware-path=/usr/lib/firmware/updates:/lib/firmware/updates:/usr/lib/firmware:/lib/firmware \
- --with-usb-ids-path=/usr/share/hwdata/usb.ids \
- --with-pci-ids-path=/usr/share/hwdata/pci.ids
-
- make
-}
-
-check() {
- make -C "$pkgname-$pkgver" check
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=${pkgdir} install
-
- # install the mkinitpcio hook
- install -D -m644 ../initcpio-hooks-udev ${pkgdir}/usr/lib/initcpio/hooks/udev
- 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
-
- # the path to udevadm is hardcoded in some places
- install -d ${pkgdir}/sbin
- ln -s ../usr/bin/udevadm ${pkgdir}/sbin/udevadm
-
- # fix wrong path to /bin/sh
- sed -i -e 's#/usr/bin/sh#/bin/sh#g' $pkgdir/usr/lib/udev/keyboard-force-release.sh
-
- # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
- 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
-}
diff --git a/testing/udev/initcpio-hooks-udev b/testing/udev/initcpio-hooks-udev
deleted file mode 100644
index 313a88130..000000000
--- a/testing/udev/initcpio-hooks-udev
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/ash
-
-run_earlyhook() {
- /usr/lib/udev/udevd --daemon --resolve-names=never
- udevd_running=1
-}
-
-run_hook() {
- msg ":: Triggering uevents..."
- udevadm trigger --action=add --type=subsystems
- udevadm trigger --action=add --type=devices
- udevadm settle
-}
-
-run_cleanuphook() {
- udevadm control --exit
- udevadm info --cleanup-db
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/udev/initcpio-install-udev b/testing/udev/initcpio-install-udev
deleted file mode 100644
index e33664459..000000000
--- a/testing/udev/initcpio-install-udev
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-build() {
- add_file "/etc/udev/udev.conf"
- 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 "/usr/lib/udev/rules.d/$rules"
- done
- for tool in ata_id scsi_id; do
- add_file "/usr/lib/udev/$tool"
- done
-
- add_runscript
-}
-
-help() {
- cat <<HELPEOF
-This hook will use udev to create your root device node and detect the needed
-modules for your root device. It is also required for firmware loading in
-initramfs. It is recommended to use this hook.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/udev/udev.install b/testing/udev/udev.install
deleted file mode 100644
index 557efe9e1..000000000
--- a/testing/udev/udev.install
+++ /dev/null
@@ -1,59 +0,0 @@
-# arg 1: the new package version
-# arg 2: the old package version
-
-post_upgrade() {
- if [ "$(vercmp $2 181-3)" -lt 0 ]; then
- echo "udev changes:"
- if [ "$(vercmp $2 168)" -lt 0 ]; then
- echo " * Kernel 2.6.32 or newer is now required."
- echo " * OSS emulation modules are not loaded by default, add to rc.conf if needed."
- echo " * Arch specific cd symlinks are now no longer created."
- echo " * cd and net persistent rules will no longer be autogenerated,"
- echo " see <https://wiki.archlinux.org/index.php/Udev> for details."
- echo " * Errors are now logged (possibly to the console) by default."
- 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 " * 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."
- 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 " * kbd and rtc devices are no longer world readable."
- 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."
- 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 " * We no longer create symlinks from /dev/<dev> to /dev/<dev>0."
- 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 " * We no longer create the static nodes on install needed for an initrd-less"
- echo " boot where devtmpfs is not mounted by the kernel, this only affects fresh"
- echo " installs."
- fi
- if [ "$(vercmp $2 175)" -lt 0 ]; then
- echo " * devtmpfs support is now a hard requirement. Users of the official Arch"
- echo " kernels have this enabled."
- fi
- if [ "$(vercmp $2 181)" -lt 0 ]; then
- echo " * udev-compat has been removed, and should be uninstalled."
- echo " * Framebuffers are no longer blacklisted by default."
- echo " * binaries moved from /sbin to /usr/bin"
- fi
- echo " * if your kernel does not provide /dev/loop-control, you need to manually"
- echo " load the 'loop' module before using losetup"
- fi
-}