[package/udev] Replace udev-vol-id pacakge with configurable udevextras
authorJeremy Kerr <​jk@ozlabs.org>
Sat, 12 Apr 2008 23:32:44 +0000 (23:32 +0000)
committerJeremy Kerr <​jk@ozlabs.org>
Sat, 12 Apr 2008 23:32:44 +0000 (23:32 +0000)
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>
SVN-Revision: 10805

package/udev/Makefile
package/udev/udevextras-config.in [new file with mode: 0644]

index 336e511f070dfbd8be9924e13de14719ea08e374..bb23172edd73d367613fb53aa6c77acbc1a2f385 100644 (file)
@@ -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 (file)
index 0000000..3e94004
--- /dev/null
@@ -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
+