eudev: new package
eudev is a userspace device management daemon. It is a standalone version, independent from systemd. It is a fork maintained by Gentoo. Features: - No extra configuration options are available: Gudev is build if libglib2 is selected. - No dependency on hwdata as the package uses its own hardware database (as does systemd). eudev 1.3 is in sync with systemd v207. [Peter: add BR2_USE_MMU dependency] Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
9b8ffcd8f2
commit
937a95449e
@ -188,6 +188,8 @@ define LINUX_CONFIGURE_CMDS
|
|||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
|
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
|
||||||
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),
|
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
|
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
|
||||||
|
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV),
|
||||||
|
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
|
||||||
$(if $(BR2_PACKAGE_KTAP),
|
$(if $(BR2_PACKAGE_KTAP),
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
|
$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_EVENT_TRACING,$(@D)/.config)
|
$(call KCONFIG_ENABLE_OPT,CONFIG_EVENT_TRACING,$(@D)/.config)
|
||||||
|
@ -278,6 +278,7 @@ source "package/dmraid/Config.in"
|
|||||||
source "package/dvb-apps/Config.in"
|
source "package/dvb-apps/Config.in"
|
||||||
source "package/dvbsnoop/Config.in"
|
source "package/dvbsnoop/Config.in"
|
||||||
source "package/eeprog/Config.in"
|
source "package/eeprog/Config.in"
|
||||||
|
source "package/eudev/Config.in"
|
||||||
source "package/evemu/Config.in"
|
source "package/evemu/Config.in"
|
||||||
source "package/evtest/Config.in"
|
source "package/evtest/Config.in"
|
||||||
source "package/fan-ctrl/Config.in"
|
source "package/fan-ctrl/Config.in"
|
||||||
|
38
package/eudev/Config.in
Normal file
38
package/eudev/Config.in
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
config BR2_PACKAGE_EUDEV
|
||||||
|
bool "eudev"
|
||||||
|
depends on !BR2_avr32 # no epoll_create1
|
||||||
|
depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
|
||||||
|
depends on BR2_USE_MMU # uses fork()
|
||||||
|
depends on BR2_LARGEFILE # util-linux
|
||||||
|
depends on BR2_USE_WCHAR # util-linux
|
||||||
|
depends on !BR2_PREFER_STATIC_LIB # kmod
|
||||||
|
select BR2_PACKAGE_UTIL_LINUX
|
||||||
|
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
|
||||||
|
select BR2_PACKAGE_KMOD
|
||||||
|
help
|
||||||
|
Userspace device daemon. This is a standalone version,
|
||||||
|
independent of systemd. It is a fork maintained by Gentoo.
|
||||||
|
|
||||||
|
eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
|
||||||
|
and inotify.
|
||||||
|
|
||||||
|
http://github.com/gentoo/eudev/
|
||||||
|
|
||||||
|
if BR2_PACKAGE_EUDEV
|
||||||
|
|
||||||
|
config BR2_PACKAGE_EUDEV_RULES_GEN
|
||||||
|
bool "enable rules generator"
|
||||||
|
help
|
||||||
|
Enable persistent rules generator
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
comment "eudev needs eudev /dev management"
|
||||||
|
depends on !BR2_avr32
|
||||||
|
depends on BR2_USE_MMU
|
||||||
|
depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
|
||||||
|
|
||||||
|
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
|
||||||
|
depends on !BR2_avr32
|
||||||
|
depends on BR2_USE_MMU
|
||||||
|
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
|
48
package/eudev/S10udev
Executable file
48
package/eudev/S10udev
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# udev This is a minimal non-LSB version of a UDEV startup script. It
|
||||||
|
# was derived by stripping down the udev-058 LSB version for use
|
||||||
|
# with buildroot on embedded hardware using Linux 2.6.34+ kernels.
|
||||||
|
#
|
||||||
|
# You may need to customize this for your system's resource limits
|
||||||
|
# (including startup time!) and administration. For example, if
|
||||||
|
# your early userspace has a custom initramfs or initrd you might
|
||||||
|
# need /dev much earlier; or without hotpluggable busses (like USB,
|
||||||
|
# PCMCIA, MMC/SD, and so on) your /dev might be static after boot.
|
||||||
|
#
|
||||||
|
# This script assumes your system boots right into the eventual root
|
||||||
|
# filesystem, and that init runs this udev script before any programs
|
||||||
|
# needing more device nodes than the bare-bones set -- /dev/console,
|
||||||
|
# /dev/zero, /dev/null -- that's needed to boot and run this script.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Check for missing binaries
|
||||||
|
UDEV_BIN=/sbin/udevd
|
||||||
|
test -x $UDEV_BIN || exit 5
|
||||||
|
|
||||||
|
# Check for config file and read it
|
||||||
|
UDEV_CONFIG=/etc/udev/udev.conf
|
||||||
|
test -r $UDEV_CONFIG || exit 6
|
||||||
|
. $UDEV_CONFIG
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo -n "Populating ${udev_root:-/dev} using udev: "
|
||||||
|
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
|
||||||
|
$UDEV_BIN -d || (echo "FAIL" && exit 1)
|
||||||
|
udevadm trigger
|
||||||
|
echo "done"
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
# Stop execution of events
|
||||||
|
udevadm control --stop-exec-queue
|
||||||
|
killall udevd
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
exit 0
|
43
package/eudev/eudev.mk
Normal file
43
package/eudev/eudev.mk
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# eudev
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
EUDEV_VERSION = 1.3
|
||||||
|
EUDEV_SITE = $(call github,gentoo,eudev,v$(EUDEV_VERSION))
|
||||||
|
EUDEV_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries)
|
||||||
|
EUDEV_LICENSE_FILES = COPYING
|
||||||
|
EUDEV_INSTALL_STAGING = YES
|
||||||
|
EUDEV_AUTORECONF = YES
|
||||||
|
|
||||||
|
# mq_getattr is in librt
|
||||||
|
EUDEV_CONF_ENV += LIBS=-lrt
|
||||||
|
|
||||||
|
EUDEV_CONF_OPT = \
|
||||||
|
--sbindir=/sbin \
|
||||||
|
--with-rootlibdir=/lib \
|
||||||
|
--libexecdir=/lib \
|
||||||
|
--with-firmware-path=/lib/firmware \
|
||||||
|
--disable-introspection \
|
||||||
|
--enable-split-usr \
|
||||||
|
--enable-libkmod
|
||||||
|
|
||||||
|
EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
|
||||||
|
EUDEV_CONF_OPT += --enable-rule_generator
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
|
||||||
|
EUDEV_CONF_OPT += --enable-gudev
|
||||||
|
EUDEV_DEPENDENCIES += libglib2
|
||||||
|
else
|
||||||
|
EUDEV_CONF_OPT += --disable-gudev
|
||||||
|
endif
|
||||||
|
|
||||||
|
define EUDEV_INSTALL_INIT_SYSV
|
||||||
|
$(INSTALL) -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(autotools-package))
|
@ -137,6 +137,18 @@ comment "udev doesn't work with 'prefer static libraries'"
|
|||||||
depends on !BR2_avr32 # udev
|
depends on !BR2_avr32 # udev
|
||||||
depends on BR2_PREFER_STATIC_LIB
|
depends on BR2_PREFER_STATIC_LIB
|
||||||
|
|
||||||
|
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
|
||||||
|
bool "Dynamic using eudev"
|
||||||
|
depends on !BR2_avr32 # eudev
|
||||||
|
depends on BR2_LARGEFILE
|
||||||
|
depends on BR2_USE_WCHAR
|
||||||
|
depends on !BR2_PREFER_STATIC_LIB
|
||||||
|
select BR2_PACKAGE_EUDEV
|
||||||
|
|
||||||
|
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
|
||||||
|
depends on !BR2_avr32 # eudev
|
||||||
|
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config BR2_ROOTFS_DEVICE_TABLE
|
config BR2_ROOTFS_DEVICE_TABLE
|
||||||
|
Loading…
Reference in New Issue
Block a user