diff options
Diffstat (limited to 'package/system/udev')
5 files changed, 343 insertions, 0 deletions
diff --git a/package/system/udev/Config.in b/package/system/udev/Config.in new file mode 100644 index 0000000..56033d8 --- /dev/null +++ b/package/system/udev/Config.in @@ -0,0 +1,118 @@ +# udev package config + +menu "Configuration" + depends on PACKAGE_udev + +config UDEV_DISABLE_LOGGING + bool "Disable udev logging to syslog" + 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" + default n + help + Compile in udev debug messages. If unsure, choose + the default N. + +config UDEV_EXTRA_accelerometer + bool "Install udev acceleroometer callout" + default y + help + accelerometer - udev callout to export device orientation + through property + +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_input_id + bool "Install input_id callout" + default y + help + input_id - udev callout to classify input devices + +config UDEV_EXTRA_mtd_probe + bool "Install mtd_probe callout" + default y + help + mtd_probe - udev callout to probe mtd devices + +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_qemu + bool "Install qemu specific rules" + default y + help + Install rules for autosuspension of QEMU emulated + USB HID devices + +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 + +config UDEV_EXTRA_v4l_id + bool "Install udev v4l_id callout" + default y + help + v4l_id - udev callout to identify Video4Linux devices + +endmenu diff --git a/package/system/udev/Makefile b/package/system/udev/Makefile new file mode 100644 index 0000000..4679917 --- /dev/null +++ b/package/system/udev/Makefile @@ -0,0 +1,156 @@ +# +# Copyright (C) 2006-2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=udev +PKG_VERSION:=173 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/hotplug/ +PKG_MD5SUM:=91a88a359b60bbd074b024883cc0dbde + +include $(INCLUDE_DIR)/package.mk + +PKG_INSTALL=1 + +define Package/udev + 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 <geoff@infradead.org> + MENU:=1 + DEPENDS:=+librt +endef + +define Package/udev/description + udev allows Linux users to have a dynamic /dev directory and it + provides the ability to have persistent device names. +endef + +define Package/udev/conffiles +/etc/udev/udev.conf +endef + +define Package/udev/config + source "$(SOURCE)/Config.in" +endef + +udev-args-$(CONFIG_UDEV_DISABLE_LOGGING) += --disable-logging +udev-args-$(CONFIG_UDEV_ENABLE_DEBUG) += --enable-debug +udev-args-$(CONFIG_UDEV_EXTRA_edd_id) += --enable-edd +udev-args-$(CONFIG_UDEV_EXTRA_floppy) += --enable-floppy + +# TODO: make hwdb and introspection work + +CONFIGURE_ARGS += --prefix=/usr --exec-prefix= --sysconfdir=/etc \ + --disable-hwdb --disable-keymap --disable-gudev --disable-introspection \ + --libexecdir=/lib/udev --disable-gtk-doc-html \ + --sbindir=/sbin $(udev-args-y) + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_accelerometer) += accelerometer +udev-extra-rules-$(CONFIG_UDEV_EXTRA_accelerometer) += 61-accelerometer.rules + +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 +udev-extra-rules-$(CONFIG_UDEV_EXTRA_firmware) += 50-firmware.rules + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_floppy) += create_floppy_devices + +# TODO: make gudev work + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_input_id) += input_id + +# TODO: make keymap work + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_mtd_probe) += mtd_probe +udev-extra-rules-$(CONFIG_UDEV_EXTRA_mtd_probe) += 75-probe_mtd.rules + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_path_id) += path_id + +udev-extra-rules-$(CONFIG_UDEV_EXTRA_qemu) += 42-qemu-usb.rules + +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 + +# TODO: make udev-acl work + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_usb_id) += usb_id + +udev-extra-lib-bin-$(CONFIG_UDEV_EXTRA_v4l_id) += v4l_id +udev-extra-rules-$(CONFIG_UDEV_EXTRA_v4l_id) += 60-persistent-v4l.rules + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/libudev.h $(1)/usr/include + $(INSTALL_DIR) $(1)/usr/share/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/udev.pc $(1)/usr/share/pkgconfig + $(INSTALL_DIR) $(1)/lib + $(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/lib/pkgconfig/libudev.pc $(1)/usr/lib/pkgconfig +endef + +define Package/udev/install + $(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 + $(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib + + $(INSTALL_DIR) $(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)) diff --git a/package/system/udev/patches/0001-build-don-t-use-gc-sections.patch b/package/system/udev/patches/0001-build-don-t-use-gc-sections.patch new file mode 100644 index 0000000..f01a5ae --- /dev/null +++ b/package/system/udev/patches/0001-build-don-t-use-gc-sections.patch @@ -0,0 +1,31 @@ +From 971a09345f108189ed899b236784a5440e43c8b6 Mon Sep 17 00:00:00 2001 +From: Daniel Mierswa <impulze@impulze.org> +Date: Sun, 31 Jul 2011 23:51:49 +0000 +Subject: [PATCH 1/2] build: don't use --gc-sections + +somehow won't work with the wrt toolchain +--- + Makefile.am | 5 +---- + 1 files changed, 1 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index a0c007a..3d8ce92 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,12 +18,9 @@ AM_CPPFLAGS = \ + -DLIBEXECDIR=\""$(libexecdir)"\" + + AM_CFLAGS = \ +- -fvisibility=hidden \ +- -ffunction-sections \ +- -fdata-sections ++ -fvisibility=hidden + + AM_LDFLAGS = \ +- -Wl,--gc-sections \ + -Wl,--as-needed + + DISTCHECK_CONFIGURE_FLAGS = \ +-- +1.7.6 + diff --git a/package/system/udev/patches/0002-udevd-add-lrt-for-message-queue-symbols.patch b/package/system/udev/patches/0002-udevd-add-lrt-for-message-queue-symbols.patch new file mode 100644 index 0000000..55466bc --- /dev/null +++ b/package/system/udev/patches/0002-udevd-add-lrt-for-message-queue-symbols.patch @@ -0,0 +1,25 @@ +From ae90737100d901723af9890e69798bd1dac9a86d Mon Sep 17 00:00:00 2001 +From: Daniel Mierswa <impulze@impulze.org> +Date: Sun, 31 Jul 2011 23:53:21 +0000 +Subject: [PATCH 2/2] udevd: add -lrt for message queue symbols + +--- + Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 3d8ce92..7d8a4b6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -164,7 +164,7 @@ udev_udevd_SOURCES = \ + udev/udevd.c \ + udev/sd-daemon.h \ + udev/sd-daemon.c +-udev_udevd_LDADD = libudev/libudev-private.la ++udev_udevd_LDADD = libudev/libudev-private.la -lrt + + udev_udevadm_SOURCES = \ + $(udev_common_sources) \ +-- +1.7.6 + diff --git a/package/system/udev/patches/0003-add_btn_trigger_happy_define.patch b/package/system/udev/patches/0003-add_btn_trigger_happy_define.patch new file mode 100644 index 0000000..77eaf13 --- /dev/null +++ b/package/system/udev/patches/0003-add_btn_trigger_happy_define.patch @@ -0,0 +1,13 @@ +--- a/extras/input_id/input_id.c ++++ b/extras/input_id/input_id.c +@@ -30,6 +30,10 @@ + #include "libudev.h" + #include "libudev-private.h" + ++#ifndef BTN_TRIGGER_HAPPY ++#define BTN_TRIGGER_HAPPY 0x2c0 ++#endif ++ + /* we must use this kernel-compatible implementation */ + #define BITS_PER_LONG (sizeof(unsigned long) * 8) + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) |