diff options
Diffstat (limited to 'openembedded/packages/udev')
22 files changed, 155 insertions, 150 deletions
diff --git a/openembedded/packages/udev/files/akita/mount.blacklist b/openembedded/packages/udev/files/akita/mount.blacklist new file mode 100644 index 0000000000..f2c10ee50d --- /dev/null +++ b/openembedded/packages/udev/files/akita/mount.blacklist @@ -0,0 +1,5 @@ +# This is a grep pattern matched against the device name +# Any matched pattern will _not_ be mounted / removed by udevd + +/dev/mtdblock +/dev/loop diff --git a/openembedded/packages/udev/files/c7x0/mount.blacklist b/openembedded/packages/udev/files/c7x0/mount.blacklist new file mode 100644 index 0000000000..f2c10ee50d --- /dev/null +++ b/openembedded/packages/udev/files/c7x0/mount.blacklist @@ -0,0 +1,5 @@ +# This is a grep pattern matched against the device name +# Any matched pattern will _not_ be mounted / removed by udevd + +/dev/mtdblock +/dev/loop diff --git a/openembedded/packages/udev/files/fix-alignment.patch b/openembedded/packages/udev/files/fix-alignment.patch new file mode 100644 index 0000000000..8c7b8b5ac5 --- /dev/null +++ b/openembedded/packages/udev/files/fix-alignment.patch @@ -0,0 +1,24 @@ +diff --git a/udev_rules_parse.c b/udev_rules_parse.c +--- a/udev_rules_parse.c ++++ b/udev_rules_parse.c +@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule + int valid; + char *linepos; + char *attr; ++ size_t padding; + int retval; + + /* get all the keys */ +@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule + + /* grow buffer and add rule */ + rule_size = sizeof(struct udev_rule) + rule->bufsize; ++ padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t); ++ dbg("add %zi padding bytes", padding); ++ rule_size += padding; ++ rule->bufsize += padding; ++ + rules->buf = realloc(rules->buf, rules->bufsize + rule_size); + if (!rules->buf) { + err("realloc failed"); + diff --git a/openembedded/packages/udev/files/local.rules b/openembedded/packages/udev/files/local.rules index 4bcaaa8aba..5f2efbeb0c 100644 --- a/openembedded/packages/udev/files/local.rules +++ b/openembedded/packages/udev/files/local.rules @@ -1,5 +1,22 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# Media automounting SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" +# Handle network interface setup SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh" SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh" diff --git a/openembedded/packages/udev/files/mount.blacklist b/openembedded/packages/udev/files/mount.blacklist new file mode 100644 index 0000000000..7e13ea91de --- /dev/null +++ b/openembedded/packages/udev/files/mount.blacklist @@ -0,0 +1 @@ +/dev/loop diff --git a/openembedded/packages/udev/udev-071/noasmlinkage.patch b/openembedded/packages/udev/files/noasmlinkage.patch index 0d8e854c0e..0d8e854c0e 100644 --- a/openembedded/packages/udev/udev-071/noasmlinkage.patch +++ b/openembedded/packages/udev/files/noasmlinkage.patch diff --git a/openembedded/packages/udev/files/slugos/mount.blacklist b/openembedded/packages/udev/files/slugos/mount.blacklist new file mode 100644 index 0000000000..210702f837 --- /dev/null +++ b/openembedded/packages/udev/files/slugos/mount.blacklist @@ -0,0 +1,4 @@ +ram[0-9]$ +mtdblock[0-9]$ +hd[a-z]$ +sd[a-z]$ diff --git a/openembedded/packages/udev/files/spitz/mount.blacklist b/openembedded/packages/udev/files/spitz/mount.blacklist new file mode 100644 index 0000000000..84ff5fc97b --- /dev/null +++ b/openembedded/packages/udev/files/spitz/mount.blacklist @@ -0,0 +1,6 @@ +# This is a grep pattern matched against the device name +# Any matched pattern will _not_ be mounted / removed by udevd + +/dev/mtdblock +/dev/hda +/dev/loop diff --git a/openembedded/packages/udev/files/tosa/mount.blacklist b/openembedded/packages/udev/files/tosa/mount.blacklist new file mode 100644 index 0000000000..c341136eed --- /dev/null +++ b/openembedded/packages/udev/files/tosa/mount.blacklist @@ -0,0 +1,5 @@ +# This is a grep pattern matched against the device name +# Any matched pattern will _not_ be mounted / removed by udevd + +/dev/mtdblock +/dev/loop
\ No newline at end of file diff --git a/openembedded/packages/udev/files/udev.rules b/openembedded/packages/udev/files/udev.rules index 044ababa7f..5c566f6cef 100644 --- a/openembedded/packages/udev/files/udev.rules +++ b/openembedded/packages/udev/files/udev.rules @@ -28,7 +28,7 @@ BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ # usbfs-like devices SUBSYSTEM=="usb_device", \ - PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} B=$${X%%%%.*} D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c" + PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c" # serial devices KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" diff --git a/openembedded/packages/udev/files/udev_network_queue.sh b/openembedded/packages/udev/files/udev_network_queue.sh new file mode 100644 index 0000000000..05e08e9d1b --- /dev/null +++ b/openembedded/packages/udev/files/udev_network_queue.sh @@ -0,0 +1,35 @@ +#! /bin/sh +# +# Copyright Matthias Hentges <devel@hentges.net> (c) 2006 +# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) +# +# Filename: udev_network_queue.sh +# Date: 03-May-06 + +do_start() { + if test -e /dev/udev_network_queue + then + echo "Activating queued NICs..." + for NIC in `cat /dev/udev_network_queue` + do + export INTERFACE="$NIC" ; export ACTION=add + /etc/udev/scripts/network.sh + done + echo "" + else + echo "No NICs queued" + fi +} + +do_stop() { + /bin/true +} + +case "$1" in +start) do_start;; +stop) do_stop;; +restart) do_stop + do_start;; +*) echo "Usage: `basename $0` [ start | stop | restart ]" + exit 0;; +esac diff --git a/openembedded/packages/udev/udev-084/udevsynthesize.patch b/openembedded/packages/udev/files/udevsynthesize.patch index 7811188485..7811188485 100644 --- a/openembedded/packages/udev/udev-084/udevsynthesize.patch +++ b/openembedded/packages/udev/files/udevsynthesize.patch diff --git a/openembedded/packages/udev/udev-084/udevsynthesize.sh b/openembedded/packages/udev/files/udevsynthesize.sh index d58217c144..d58217c144 100644 --- a/openembedded/packages/udev/udev-084/udevsynthesize.sh +++ b/openembedded/packages/udev/files/udevsynthesize.sh diff --git a/openembedded/packages/udev/udev-071/flags.patch b/openembedded/packages/udev/udev-071/flags.patch deleted file mode 100644 index cb17336212..0000000000 --- a/openembedded/packages/udev/udev-071/flags.patch +++ /dev/null @@ -1,72 +0,0 @@ -Index: udev-071/Makefile -=================================================================== ---- udev-071.orig/Makefile 2005-10-19 23:28:34.000000000 +0100 -+++ udev-071/Makefile 2005-11-01 22:04:31.000000000 +0000 -@@ -160,36 +160,36 @@ - # check if compiler option is supported - cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi;} - --CFLAGS += -Wall -fno-builtin -Wchar-subscripts -Wpointer-arith \ -+override CFLAGS += -Wall -fno-builtin -Wchar-subscripts -Wpointer-arith \ - -Wstrict-prototypes -Wsign-compare --CFLAGS += $(call cc-supports, -Wdeclaration-after-statement, ) --CFLAGS += -pipe --CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -+override CFLAGS += $(call cc-supports, -Wdeclaration-after-statement, ) -+override CFLAGS += -pipe -+override CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 - - # use '-Os' optimization if available, else use -O2 - OPTFLAGS := $(call cc-supports, -Os, -O2) - - # include our local copy of libsysfs --CFLAGS += -I$(PWD)/libsysfs/sysfs \ -+override CFLAGS += -I$(PWD)/libsysfs/sysfs \ - -I$(PWD)/libsysfs - - ifeq ($(strip $(USE_LOG)),true) -- CFLAGS += -DUSE_LOG -+ override CFLAGS += -DUSE_LOG - endif - - # if DEBUG is enabled, then we do not strip or optimize - ifeq ($(strip $(DEBUG)),true) -- CFLAGS += -O1 -g -DDEBUG -+ override CFLAGS += -O1 -g -DDEBUG - LDFLAGS += -Wl - STRIPCMD = /bin/true -Since_we_are_debugging - else -- CFLAGS += $(OPTFLAGS) -fomit-frame-pointer -+ override CFLAGS += $(OPTFLAGS) -fomit-frame-pointer - LDFLAGS += -s -Wl - STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment - endif - - ifeq ($(strip $(USE_GCOV)),true) -- CFLAGS += -fprofile-arcs -ftest-coverage -+ override CFLAGS += -fprofile-arcs -ftest-coverage - LDFLAGS = -fprofile-arcs - endif - -@@ -200,18 +200,18 @@ - CC = $(KLCC) - LD = $(KLCC) - else -- CFLAGS += -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -+ override CFLAGS += -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations - LDFLAGS += -Wl,-warn-common - endif - - ifeq ($(strip $(USE_SELINUX)),true) - UDEV_OBJS += udev_selinux.o - LIB_OBJS += -lselinux -lsepol -- CFLAGS += -DUSE_SELINUX -+ override CFLAGS += -DUSE_SELINUX - endif - - ifeq ($(strip $(USE_STATIC)),true) -- CFLAGS += -DUSE_STATIC -+ override CFLAGS += -DUSE_STATIC - LDFLAGS += -static - endif - diff --git a/openembedded/packages/udev/udev-071/tty-symlinks.patch b/openembedded/packages/udev/udev-071/tty-symlinks.patch deleted file mode 100644 index 28bdf92af8..0000000000 --- a/openembedded/packages/udev/udev-071/tty-symlinks.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- udev-068/etc/udev/udev-devfs.rules.orig 2005-08-22 20:22:18.000000000 +0200 -+++ udev-068/etc/udev/udev-devfs.rules 2005-08-22 20:22:44.000000000 +0200 -@@ -14,8 +14,8 @@ - KERNEL="fd[0-9]*", NAME="floppy/%n" - - # tty devices --KERNEL="tty[0-9]*", NAME="vc/%n" --KERNEL="ttyS[0-9]*", NAME="tts/%n" -+KERNEL="tty[0-9]*", NAME="vc/%n", SYMLINK="%k" -+KERNEL="ttyS[0-9]*", NAME="tts/%n", SYMLINK="%k" - KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n" - - # vc devices diff --git a/openembedded/packages/udev/udev-084/init b/openembedded/packages/udev/udev-084/init index 3138e5554c..5a60d52a9a 100644 --- a/openembedded/packages/udev/udev-084/init +++ b/openembedded/packages/udev/udev-084/init @@ -204,12 +204,12 @@ case "$1" in stop) echo "Stopping the hotplug events dispatcher" "udevd" - start-stop-daemon --stop --name udevd --quiet --oknodo --retry 5 + start-stop-daemon --stop --name udevd --quiet ;; restart|force-reload) echo "Stopping the hotplug events dispatcher" "udevd" - if start-stop-daemon --stop --name udevd --quiet --oknodo --retry 5; then + if start-stop-daemon --stop --name udevd --quiet ; then exit 1 fi diff --git a/openembedded/packages/udev/udev-084/local.rules b/openembedded/packages/udev/udev-084/local.rules new file mode 100644 index 0000000000..bb8459ba23 --- /dev/null +++ b/openembedded/packages/udev/udev-084/local.rules @@ -0,0 +1,28 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# Media automounting +SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" +SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" + +# Handle network interface setup +SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh" +SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh" + +# The first rtc device is symlinked to /dev/rtc +KERNEL="rtc0", SYMLINK="rtc" + +# Try and modprobe for drivers for new hardware +ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias" diff --git a/openembedded/packages/udev/udev-084/noasmlinkage.patch b/openembedded/packages/udev/udev-084/noasmlinkage.patch deleted file mode 100644 index 0d8e854c0e..0000000000 --- a/openembedded/packages/udev/udev-084/noasmlinkage.patch +++ /dev/null @@ -1,38 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- udev-062/udev.c~noasmlinkage.patch -+++ udev-062/udev.c -@@ -54,7 +54,7 @@ - } - #endif - --static void asmlinkage sig_handler(int signum) -+static void sig_handler(int signum) - { - switch (signum) { - case SIGALRM: ---- udev-062/udevd.c~noasmlinkage.patch -+++ udev-062/udevd.c -@@ -639,7 +639,7 @@ - return msg; - } - --static void asmlinkage sig_handler(int signum) -+static void sig_handler(int signum) - { - int rc; - ---- udev-062/udevstart.c~noasmlinkage.patch -+++ udev-062/udevstart.c -@@ -323,7 +323,7 @@ - exec_list(&device_list); - } - --static void asmlinkage sig_handler(int signum) -+static void sig_handler(int signum) - { - switch (signum) { - case SIGALRM: diff --git a/openembedded/packages/udev/udev-084/udev.rules b/openembedded/packages/udev/udev-084/udev.rules index 6308cb0918..3ac51b301a 100644 --- a/openembedded/packages/udev/udev-084/udev.rules +++ b/openembedded/packages/udev/udev-084/udev.rules @@ -15,6 +15,7 @@ # SCSI devices BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n" +SUBSYSTEM=="scsi_device", SYSFS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod" # USB devices BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" @@ -28,7 +29,7 @@ BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ # usbfs-like devices SUBSYSTEM=="usb_device", \ - PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} B=$${X%%%%.*} D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c" + PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c" # serial devices KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" diff --git a/openembedded/packages/udev/udev.inc b/openembedded/packages/udev/udev.inc index a2883aef50..a3896a6978 100644 --- a/openembedded/packages/udev/udev.inc +++ b/openembedded/packages/udev/udev.inc @@ -20,7 +20,7 @@ FILES_udev-utils = "${usrbindir}/udevinfo ${usrbindir}/udevtest" inherit update-rc.d INITSCRIPT_NAME = "udev" -INITSCRIPT_PARAMS = "start 04 S . start 55 0 6 ." +INITSCRIPT_PARAMS = "start 04 S ." export CROSS = "${TARGET_PREFIX}" export HOSTCC = "${BUILD_CC}" diff --git a/openembedded/packages/udev/udev_071.bb b/openembedded/packages/udev/udev_071.bb deleted file mode 100644 index 937462de85..0000000000 --- a/openembedded/packages/udev/udev_071.bb +++ /dev/null @@ -1,17 +0,0 @@ -SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ - file://tmpfs.patch;patch=1 \ - file://noasmlinkage.patch;patch=1 \ - file://flags.patch;patch=1 \ - file://tty-symlinks.patch;patch=1" - -include udev.inc - -PR = "r8" - -UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/" - -#FIXME UDEV MIGRATION PLAN: -#FIXME a) udevd is now a netlink daemon and needs to be started by the init script (ours is way too old) -#FIXME b) sbin/hotplug should no longer be called by the kernel, i.e. echo "" >/proc/sys/kernel/hotplug -#FIXME done c) until d) happens, udev will emulate hotplugd behaviour (see do_install_append() -#FIXME d) eventually hotplug should no longer be used at all, all agents shall be converted to udev rules diff --git a/openembedded/packages/udev/udev_084.bb b/openembedded/packages/udev/udev_084.bb index 85393315c5..0bb96c7f36 100644 --- a/openembedded/packages/udev/udev_084.bb +++ b/openembedded/packages/udev/udev_084.bb @@ -7,13 +7,15 @@ SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ file://noasmlinkage.patch;patch=1 \ file://flags.patch;patch=1 \ file://udevsynthesize.patch;patch=1 \ - file://udevsynthesize.sh" - + file://udevsynthesize.sh \ + file://mount.blacklist \ + file://udev_network_queue.sh" + include udev.inc -INITSCRIPT_PARAMS = "start 03 S . start 55 0 6 ." +INITSCRIPT_PARAMS = "start 03 S ." -PR = "r1" +PR = "r12" FILES_${PN} += "${base_libdir}" UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/" @@ -25,9 +27,11 @@ do_install () { oe_runmake 'DESTDIR=${D}' INSTALL=install install install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev - + install -m 0755 ${WORKDIR}/udev_network_queue.sh ${D}${sysconfdir}/init.d/ + install -d ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules @@ -44,3 +48,13 @@ do_install () { install -m 0755 ${S}/udevsynthesize ${D}${base_libdir}/udev/udevsynthesize install -m 0755 ${WORKDIR}/udevsynthesize.sh ${D}${sbindir}/udevsynthesize } + + +pkg_postinst_append() { + update-rc.d -s udev_network_queue.sh start 41 S . start 55 0 6 . +} + + +pkg_postrm_append() { + update-rc.d -f udev_network_queue.sh remove +} |