udev: Update udev package from udev-106 to udev-142

Update the init scripts have to use udevadm where appropriate.
The udev package no longer provides separate udev utilities
like udevtrigger and udevsettle.  These have been incorporated
into the udev admin program udevadm.

Replace the udevextras sub package with config options to the udev
package.

Update the preinit script to check for '/lib/udev/devices', and
copy it to '/dev/ if it is found, then to conditionaly setup
/dev the old way with mknod etc.  Udev now recommends using
the directory '/lib/udev/devices' to initialize the '/dev'
directory at startup.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>

SVN-Revision: 17378
This commit is contained in:
Geoff Levand 2009-08-24 20:19:26 +00:00
parent 0ff31d848f
commit 525d86686e
8 changed files with 188 additions and 209 deletions

View file

@ -40,15 +40,19 @@ elif [ -x /sbin/hotplug2 ]; then
elif [ -x /sbin/udevd ]; then
mount -n -t tmpfs -o mode=0755 udev /dev
/sbin/udevd --daemon
/sbin/udevtrigger
/sbin/udevsettle
[ -d /lib/udev/devices ] && cp -af /lib/udev/devices/* /dev/
[ -c /dev/console ] || mknod -m 0600 /dev/console c 5 1
[ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3
/sbin/udevd --daemon --resolve-names=never
/sbin/udevadm trigger
/sbin/udevadm settle
M0=/dev/pty/ptmx
M1=/dev/pty/ptmx
HOTPLUG=
fi
mkdir -p /dev/pts /dev/shm
[ -d /dev/pts ] || mkdir -p /dev/pts
[ -d /dev/shm ] || mkdir -p /dev/shm
mount devpts /dev/pts -t devpts
# the shell really doesn't like having stdin/out closed

View file

@ -1,4 +1,4 @@
#
#
# Copyright (C) 2006-2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
@ -8,80 +8,112 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=udev
PKG_VERSION:=106
PKG_VERSION:=142
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/hotplug/
PKG_MD5SUM:=320ccd2d0f4540d10e021bafa14f8985
PKG_MD5SUM:=3edc4cf383dccb06d866c5156d59ddd5
include $(INCLUDE_DIR)/package.mk
PKG_INSTALL=1
define Package/udev
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=@LINUX_2_6
TITLE:=Dynamic device management subsystem
URL:=http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
SECTION:=base
CATEGORY:=Base system
TITLE:=Dynamic device management subsystem
URL:=http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
MAINTAINER:=Geoff Levand <geoffrey.levand@am.sony.com>
endef
define Package/udev/description
udev provides a dynamic device directory containing only the files for
actually present devices. It creates or removes device node files in
the /dev directory, or it renames network interfaces.
udev allows Linux users to have a dynamic /dev directory and it
provides the ability to have persistent device names.
endef
define Package/udevextras
$(call Package/udev)
TITLE:=Utilities for udev scripts, for general device discovery
MENU:=1
define Package/udev/config
source "$(SOURCE)/udev-config.in"
endef
define Package/udevextras/config
source "$(SOURCE)/udevextras-config.in"
endef
udev-args-$(CONFIG_UDEV_DISABLE_LOGGING) += --disable-logging
udev-args-$(CONFIG_UDEV_ENABLE_DEBUG) += --enable-debug
UDEV_ALL_EXTRAS=ata_id cdrom_id dasd_id edd_id scsi_id path_id usb_id volume_id
UDEV_EXTRAS=$(strip $(foreach e, $(UDEV_ALL_EXTRAS), \
$(if $(CONFIG_UDEVEXTRAS_$(e)),extras/$(e))))
CONFIGURE_ARGS += --prefix=/usr --exec-prefix= --sysconfdir=/etc \
--sbindir=/sbin $(udev-args-y)
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE="$(TARGET_CROSS)" \
STRIP="/bin/true" \
OPTFLAGS="$(TARGET_CFLAGS)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
INSTALL="install -c" \
EXTRAS="$(UDEV_EXTRAS)" \
VOLUME_ID_STATIC=true \
all install
endef
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_ata_id) += ata_id
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_cdrom_id) += cdrom_id
udev-extra-rules-$(CONFIG_UDEV_EXTRA_cdrom_id) += 60-cdrom_id.rules
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_collect) += collect
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_edd_id) += edd_id
udev-extra-rules-$(CONFIG_UDEV_EXTRA_edd_id) += 61-persistent-storage-edd.rules
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_firmware) += firmware.sh
udev-extra-rules-$(CONFIG_UDEV_EXTRA_firmware) += 50-firmware.rules
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_floppy) += create_floppy_devices
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_fstab_import) += fstab_import
udev-extra-rules-$(CONFIG_UDEV_EXTRA_fstab_import) += 79-fstab_import.rules
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_path_id) += path_id
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_rule_generator) += \
write_cd_rules write_net_rules
udev-extra-lib-data-$(CONFIG_UDEV_EXTRA_rule_generator) += \
rule_generator.functions
udev-extra-rules-$(CONFIG_UDEV_EXTRA_rule_generator) += \
75-cd-aliases-generator.rules 75-persistent-net-generator.rules
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_scsi_id) += scsi_id
udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_usb_id) += usb_id
define Package/udev/install
install -d -m0775 $(1)/etc/udev
$(CP) $(PKG_INSTALL_DIR)/etc/udev/* $(1)/etc/udev/
install -d -m0775 $(1)/lib/udev
install -d -m0775 $(1)/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/udevcontrol $(1)/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/udevd $(1)/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/udevsettle $(1)/sbin/
install -d -m0775 $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/udevinfo $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/udevtest $(1)/usr/bin/
install -d -m0775 $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/udevmonitor $(1)/usr/sbin/
install -d -m0775 $(1)/etc/udev/rules.d
$(CP) files/20-input-grouping.rules $(1)/etc/udev/rules.d/
endef
$(INSTALL_DIR) $(1)/etc/udev/rules.d
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/udev/udev.conf $(1)/etc/udev
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/sbin/udevadm \
$(PKG_INSTALL_DIR)/sbin/udevd \
$(1)/sbin
$(INSTALL_DIR) $(1)/lib/udev/rules.d
$(INSTALL_DATA) \
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/rules.d/, \
$(udev-extra-rules-y)) \
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/rules.d/, \
50-udev-default.rules \
60-persistent-input.rules \
60-persistent-serial.rules \
60-persistent-storage.rules \
80-drivers.rules \
95-udev-late.rules) \
$(1)/lib/udev/rules.d
$(INSTALL_DIR) $(1)/lib
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/lib/libudev.so.* \
$(1)/lib
define Package/udevextras/install
$(INSTALL_DIR) $(1)/etc/udev
$(CP) $(PKG_BUILD_DIR)/etc/udev/rules.d $(1)/etc/udev/
$(INSTALL_DIR) $(1)/lib/udev
$$(foreach f, $$(shell $(FIND) $(PKG_INSTALL_DIR)/lib/udev/ -type f), \
$(CP) $$(f) $(1)/lib/udev/ ; \
)
ifneq ($(udev-extra-lib-bin-y),)
$(INSTALL_BIN) \
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/, \
$(udev-extra-lib-bin-y)) \
$(1)/lib/udev/
endif
ifneq ($(udev-extra-lib-data-y),)
$(INSTALL_DATA) \
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/, \
$(udev-extra-lib-data-y)) \
$(1)/lib/udev/
endif
endef
$(eval $(call BuildPackage,udev))
$(eval $(call BuildPackage,udevextras))

View file

@ -1,9 +0,0 @@
# Input devices, group under /dev/input
SUBSYSTEM!="input", GOTO="input_grouping_end"
KERNEL=="event[0-9]*", NAME="input/%k"
KERNEL=="mice", NAME="input/%k"
KERNEL=="mouse[0-9]*", NAME="input/%k"
KERNEL=="js[0-9]*", NAME="input/%k"
LABEL="input_grouping_end"

View file

@ -1,22 +0,0 @@
Index: udev-106/Makefile
===================================================================
--- udev-106.orig/Makefile 2007-06-04 13:22:17.765154568 +0200
+++ udev-106/Makefile 2007-06-04 13:22:17.831144536 +0200
@@ -113,7 +113,7 @@
AR = $(CROSS_COMPILE)ar
RANLIB = $(CROSS_COMPILE)ranlib
-CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+CFLAGS = -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \
-Wchar-subscripts -Wmissing-declarations -Wnested-externs \
-Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes
@@ -130,7 +130,7 @@
# if DEBUG is enabled, then we do not strip
ifeq ($(strip $(DEBUG)),true)
- CFLAGS += -DDEBUG
+ CFLAGS += -g -DDEBUG
endif
ifeq ($(strip $(USE_GCOV)),true)

View file

@ -1,12 +0,0 @@
Index: udev-106/udevtrigger.c
===================================================================
--- udev-106.orig/udevtrigger.c 2007-06-04 13:22:17.745157608 +0200
+++ udev-106/udevtrigger.c 2007-06-04 13:22:18.022115504 +0200
@@ -446,7 +446,6 @@
};
logging_init("udevtrigger");
- udev_config_init();
dbg("version %s", UDEV_VERSION);
sysfs_init();

View file

@ -1,51 +0,0 @@
Index: udev-106/Makefile
===================================================================
--- udev-106.orig/Makefile 2007-06-04 13:22:17.831144536 +0200
+++ udev-106/Makefile 2007-06-04 13:22:18.210086928 +0200
@@ -246,13 +246,15 @@
.PHONY: install-config
install-man:
- $(INSTALL_DATA) -D udev.7 $(DESTDIR)$(mandir)/man7/udev.7
- $(INSTALL_DATA) -D udevinfo.8 $(DESTDIR)$(mandir)/man8/udevinfo.8
- $(INSTALL_DATA) -D udevtest.8 $(DESTDIR)$(mandir)/man8/udevtest.8
- $(INSTALL_DATA) -D udevd.8 $(DESTDIR)$(mandir)/man8/udevd.8
- $(INSTALL_DATA) -D udevtrigger.8 $(DESTDIR)$(mandir)/man8/udevtrigger.8
- $(INSTALL_DATA) -D udevsettle.8 $(DESTDIR)$(mandir)/man8/udevsettle.8
- $(INSTALL_DATA) -D udevmonitor.8 $(DESTDIR)$(mandir)/man8/udevmonitor.8
+ $(INSTALL) -d $(DESTDIR)$(mandir)/man7
+ $(INSTALL) -d $(DESTDIR)$(mandir)/man8
+ $(INSTALL_DATA) udev.7 $(DESTDIR)$(mandir)/man7/udev.7
+ $(INSTALL_DATA) udevinfo.8 $(DESTDIR)$(mandir)/man8/udevinfo.8
+ $(INSTALL_DATA) udevtest.8 $(DESTDIR)$(mandir)/man8/udevtest.8
+ $(INSTALL_DATA) udevd.8 $(DESTDIR)$(mandir)/man8/udevd.8
+ $(INSTALL_DATA) udevtrigger.8 $(DESTDIR)$(mandir)/man8/udevtrigger.8
+ $(INSTALL_DATA) udevsettle.8 $(DESTDIR)$(mandir)/man8/udevsettle.8
+ $(INSTALL_DATA) udevmonitor.8 $(DESTDIR)$(mandir)/man8/udevmonitor.8
- ln -f -s udevd.8 $(DESTDIR)$(mandir)/man8/udevcontrol.8
@extras="$(EXTRAS)"; for target in $$extras; do \
$(MAKE) -C $$target $@ || exit 1; \
@@ -275,13 +277,16 @@
install-bin:
$(INSTALL) -d $(DESTDIR)$(udevdir)
- $(INSTALL_PROGRAM) -D udevd $(DESTDIR)$(sbindir)/udevd
- $(INSTALL_PROGRAM) -D udevtrigger $(DESTDIR)$(sbindir)/udevtrigger
- $(INSTALL_PROGRAM) -D udevsettle $(DESTDIR)$(sbindir)/udevsettle
- $(INSTALL_PROGRAM) -D udevcontrol $(DESTDIR)$(sbindir)/udevcontrol
- $(INSTALL_PROGRAM) -D udevmonitor $(DESTDIR)$(usrsbindir)/udevmonitor
- $(INSTALL_PROGRAM) -D udevinfo $(DESTDIR)$(usrbindir)/udevinfo
- $(INSTALL_PROGRAM) -D udevtest $(DESTDIR)$(usrbindir)/udevtest
+ $(INSTALL) -d $(DESTDIR)$(sbindir)
+ $(INSTALL) -d $(DESTDIR)$(usrbindir)
+ $(INSTALL) -d $(DESTDIR)$(usrsbindir)
+ $(INSTALL_PROGRAM) udevd $(DESTDIR)$(sbindir)/udevd
+ $(INSTALL_PROGRAM) udevtrigger $(DESTDIR)$(sbindir)/udevtrigger
+ $(INSTALL_PROGRAM) udevsettle $(DESTDIR)$(sbindir)/udevsettle
+ $(INSTALL_PROGRAM) udevcontrol $(DESTDIR)$(sbindir)/udevcontrol
+ $(INSTALL_PROGRAM) udevmonitor $(DESTDIR)$(usrsbindir)/udevmonitor
+ $(INSTALL_PROGRAM) udevinfo $(DESTDIR)$(usrbindir)/udevinfo
+ $(INSTALL_PROGRAM) udevtest $(DESTDIR)$(usrbindir)/udevtest
@extras="$(EXTRAS)"; for target in $$extras; do \
$(MAKE) -C $$target $@ || exit 1; \
done;

View file

@ -0,0 +1,94 @@
# udev package config
menu "udev configuration"
depends on PACKAGE_udev
config UDEV_DISABLE_LOGGING
bool "Disable udev logging to syslog"
depends on PACKAGE_udev
default n
help
Disable logging of udev messages to the syslog. If
unsure, choose the default N.
config UDEV_ENABLE_DEBUG
bool "Enable debug build of the udev package"
depends on PACKAGE_udev
default n
help
Compile in udev debug messages. If unsure, choose
the default N.
config UDEV_EXTRA_ata_id
bool "Install udev ata_id callout"
default y
help
ata_id - udev callout to read product/serial number
from ATA drives
config UDEV_EXTRA_cdrom_id
bool "Install udev cdrom_id callout"
default y
help
cdrom_id - udev callout to determine the capabilities
of optical drives and media
config UDEV_EXTRA_collect
bool "Install udev collect"
default n
help
Adds ID to the list governed by <checkpoint>
config UDEV_EXTRA_edd_id
bool "Install udev edd_id callout"
default n
help
edd_id - udev callout to identify BIOS disk drives
via EDD
config UDEV_EXTRA_firmware
bool "Install firmware support"
default n
help
udev firmware loader
via EDD
config UDEV_EXTRA_floppy
bool "Install create_floppy_devices callout"
default n
help
create_floppy_devices - udev callout to create all
possible floppy device based on the CMOS type
config UDEV_EXTRA_fstab_import
bool "Install fstab import"
default y
help
find matching entry in fstab and export it
config UDEV_EXTRA_path_id
bool "Install udev path_id callout"
default y
help
path_id - udev callout to create a device path based
unique name for a device to implement the Linux
Persistent Device Naming scheme
config UDEV_EXTRA_rule_generator
bool "Install udev rule_generator"
default y
help
config UDEV_EXTRA_scsi_id
bool "Install udev scsi_id callout"
default y
help
scsi_id - retrieve and generate a unique SCSI identifier
config UDEV_EXTRA_usb_id
bool "Install udev usb_id callout"
default y
help
usb_id - can find the unique id of USB devices
endmenu

View file

@ -1,57 +0,0 @@
config UDEVEXTRAS_ata_id
bool
prompt "ata_id" if PACKAGE_udevextras
default n
help
ata_id can find unique identifiers for ATA devices
config UDEVEXTRAS_cdrom_id
bool
prompt "cdrom_id" if PACKAGE_udevextras
default n
help
cdrom_id can find unique identifiers for CDROM devices
config UDEVEXTRAS_dasd_id
bool
prompt "dasd_id" if PACKAGE_udevextras
default n
help
dasd_id can find unique identifiers for DASD devices
config UDEVEXTRAS_edd_id
bool
prompt "edd_id" if PACKAGE_udevextras
default n
help
edd_id can find unique identifiers for EDD devices
config UDEVEXTRAS_path_id
bool
prompt "path_id" if PACKAGE_udevextras
default n
help
path_id can find the full path (eg. bus-device-partition)
of devices
config UDEVEXTRAS_scsi_id
bool
prompt "scsi_id" if PACKAGE_udevextras
default n
help
scsi_id can find unique identifiers for SCSI devices
config UDEVEXTRAS_usb_id
bool
prompt "usb_id" if PACKAGE_udevextras
default n
help
usb_id can find the unique id of USB devices
config UDEVEXTRAS_volume_id
bool
prompt "volume_id" if PACKAGE_udevextras
default n
help
volume_id can find the volume label of storage devices