From 843ca243255de3cb6331b1029be935bc6a96bd4b Mon Sep 17 00:00:00 2001
From: jk <jk@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 12 Apr 2008 23:32:44 +0000
Subject: [package/udev] Replace udev-vol-id pacakge with configurable
 udevextras

Instead of just having one vol_id package, create a 'udevextras' package
for all of the udev "EXTRAS" utilities. Selecting this package allows
each extra to be selected individually.

Also, installing udevextras adds a few udev rules for persistent device
naming.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10805 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/udev/Makefile             | 31 +++++++++++++++++-------
 package/udev/udevextras-config.in | 51 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 9 deletions(-)
 create mode 100644 package/udev/udevextras-config.in

(limited to 'package/udev')

diff --git a/package/udev/Makefile b/package/udev/Makefile
index 336e511f0..bb23172ed 100644
--- a/package/udev/Makefile
+++ b/package/udev/Makefile
@@ -35,13 +35,24 @@ endef
 define Package/udevtrigger
 $(call Package/udev)
   TITLE:=Small utility to request kernel devices events for coldplug
+  DEPENDS:=udev
 endef
 
-define Package/udev-vol-id
+define Package/udevextras
 $(call Package/udev)
- TITLE:=Small utility to read volume ids
+  TITLE:=Utilities for udev scripts, for general device discovery
+  DEPENDS:=udev
+  MENU:=1
 endef
 
+define Package/udevextras/config
+  source "$(SOURCE)/udevextras-config.in"
+endef
+
+UDEV_ALL_EXTRAS=ata_id cdrom_id dasd_id scsi_id path_id usb_id volume_id
+UDEV_EXTRAS=$(strip $(foreach e, $(UDEV_ALL_EXTRAS), \
+		$(if $(CONFIG_UDEVEXTRAS_$(e)),extras/$(e))))
+
 define Build/Compile
 	$(MAKE) -C $(PKG_BUILD_DIR) \
 		CROSS_COMPILE="$(TARGET_CROSS)" \
@@ -49,7 +60,8 @@ define Build/Compile
 		OPTFLAGS="$(TARGET_CFLAGS)" \
 		DESTDIR="$(PKG_INSTALL_DIR)" \
 		INSTALL="install -c" \
-		EXTRAS="extras/volume_id" \
+		EXTRAS="$(UDEV_EXTRAS)" \
+		VOLUME_ID_STATIC=true \
 		all install
 endef
 
@@ -74,13 +86,14 @@ define Package/udevtrigger/install
 	$(INSTALL_DIR) $(1)/sbin
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/udevtrigger $(1)/sbin/
 endef
-define Package/udev-vol-id/install
-	$(INSTALL_DIR) $(1)/sbin
-	$(INSTALL_DIR) $(1)/lib
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/lib/libvolume_id.so* $(1)/lib/
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/lib/udev/vol_id $(1)/sbin/
+
+define Package/udevextras/install
+	$(INSTALL_DIR) $(1)/lib/udev
+	$(CP) $(PKG_INSTALL_DIR)/lib/udev/* $(1)/lib/udev/
+	$(INSTALL_DIR) $(1)/etc/udev
+	$(CP) $(PKG_BUILD_DIR)/etc/udev/rules.d $(1)/etc/udev/
 endef
 
 $(eval $(call BuildPackage,udev))
 $(eval $(call BuildPackage,udevtrigger))
-$(eval $(call BuildPackage,udev-vol-id))
+$(eval $(call BuildPackage,udevextras))
diff --git a/package/udev/udevextras-config.in b/package/udev/udevextras-config.in
new file mode 100644
index 000000000..3e940042f
--- /dev/null
+++ b/package/udev/udevextras-config.in
@@ -0,0 +1,51 @@
+
+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_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_volume_id
+	bool
+	prompt "volume_id" if PACKAGE_udevextras
+	default n
+	help
+	  volume_id can find the volume label of storage 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
+
-- 
cgit v1.2.3