Commit 937a9544 authored by eric.le.bihan.dev@free.fr's avatar eric.le.bihan.dev@free.fr Committed by Peter Korsgaard
Browse files

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: default avatarEric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 9b8ffcd8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -188,6 +188,8 @@ define LINUX_CONFIGURE_CMDS
		$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
	$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),
		$(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),
		$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
		$(call KCONFIG_ENABLE_OPT,CONFIG_EVENT_TRACING,$(@D)/.config)
+1 −0
Original line number Diff line number Diff line
@@ -278,6 +278,7 @@ source "package/dmraid/Config.in"
source "package/dvb-apps/Config.in"
source "package/dvbsnoop/Config.in"
source "package/eeprog/Config.in"
source "package/eudev/Config.in"
source "package/evemu/Config.in"
source "package/evtest/Config.in"
source "package/fan-ctrl/Config.in"
+38 −0
Original line number Diff line number Diff line
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

package/eudev/S10udev

0 → 100755
+48 −0
Original line number Diff line number Diff line
#!/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

package/eudev/eudev.mk

0 → 100644
+43 −0
Original line number Diff line number Diff line
################################################################################
#
# 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))
Loading