comment "----------------------------------------------------"
endif
+###############################################################################
+comment "Legacy options removed in 2014.05"
+
+config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ bool "/dev management by udev removed"
+ select BR2_LEGACY
+ help
+ The 'udev' package has been converted to a virtual package.
+ There is currently one provider for this feature: 'eudev'.
+
+ Therefore, you must choose 'Dynamic using eudev' in the
+ '/dev management' menu to get the same behaviour as in your
+ old configuration.
+
+ You must also check the packages depending on 'udev' are still
+ selected.
+
+config BR2_PACKAGE_UDEV
+ bool "udev is now a virtual package"
+ select BR2_LEGACY
+ select BR2_PACKAGE_HAS_UDEV
+ help
+ The 'udev' package has been converted to a virtual package.
+ There is currently one provider for this feature: 'eudev'.
+
+ Your old configuration refers to packages depending on 'udev',
+ either for build or at runtime.
+
+ Check that a 'udev' provider is selected, i.e. that 'eudev' is
+ selected, which is the case if '/dev management' is set to
+ 'Dynamic using eudev'.
+
+config BR2_PACKAGE_UDEV_RULES_GEN
+ bool "udev rules generation handled by eudev"
+ select BR2_LEGACY
+ select BR2_PACKAGE_EUDEV
+ select BR2_PACKAGE_EUDEV_RULES_GEN
+ help
+ The 'udev' package has been converted to a virtual package.
+ There is currently one provider for this feature: 'eudev'.
+
+ udev rules generation will now be handled by 'eudev'.
+
+ Check that '/dev management' is set to 'Dynamic using eudev'
+ to get the same behaviour as in your old configuration.
+
+config BR2_PACKAGE_UDEV_ALL_EXTRAS
+ bool "udev extras removed"
+ select BR2_LEGACY
+ help
+ The 'udev' package has been converted to a virtual package.
+ There is currently one provider for this feature: 'eudev'.
+
+ The option to enable the extra features of 'udev' (gudev, ...)
+ has been removed. These features are automatically enabled in
+ the 'udev' providers if the dependencies are selected. For
+ example, selecting 'libglib2' will trigger the build of gudev.
+
###############################################################################
comment "Legacy options removed in 2014.02"
Dependencies on udev /dev management
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If a package needs udev /dev management, it should depend on symbol
-+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV+, and the following comment
-should be added:
++BR2_PACKAGE_HAS_UDEV+, and the following comment should be added:
--------------------------
foo needs udev /dev management
$(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),,
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config)
$(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),
CCID_INSTALL_STAGING = YES
CCID_DEPENDENCIES = pcsc-lite host-pkgconf libusb
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define CCID_INSTALL_UDEV_RULES
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
cp $(@D)/src/92_pcscd_ccid.rules $(TARGET_DIR)/etc/udev/rules.d/ ; \
depends on BR2_LARGEFILE # util-linux
depends on BR2_USE_WCHAR # util-linux
depends on !BR2_PREFER_STATIC_LIB # kmod
+ select BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_KMOD
install)
endef
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define GPSD_INSTALL_UDEV_RULES
(cd $(@D); \
$(GPSD_SCONS_ENV) \
config BR2_PACKAGE_LIBATASMART
bool "libatasmart"
- depends on BR2_PACKAGE_UDEV # libudev is configure dependency
+ depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency
help
The libatasmart package is a disk reporting library.
It only supports a subset of the ATA S.M.A.R.T. functionality.
http://www.linuxfromscratch.org/blfs/view/svn/general/libatasmart.html
comment "libatasmart requires udev to be enabled"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
LIBCEC_DEPENDENCIES += lockdev
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBCEC_DEPENDENCIES += udev
endif
LIBDRM_CONF_OPT += --disable-freedreno-experimental-api
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBDRM_CONF_OPT += --enable-udev
LIBDRM_DEPENDENCIES += udev
else
bool "libmbim"
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
help
libmbim is a glib-based library for talking to WWAN modems and
devices which speak the Mobile Interface Broadband Model (MBIM)
comment "libmbim needs udev /dev management and a toolchain w/ wchar, threads"
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ !BR2_PACKAGE_HAS_UDEV
LIBUSB_CONF_OPT += --disable-timerfd
endif
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBUSB_DEPENDENCIES += udev
else
LIBUSB_CONF_OPT += --disable-udev
config BR2_PACKAGE_MODEM_MANAGER
bool "modemmanager"
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_DBUS
depends on BR2_INET_IPV6
depends on BR2_LARGEFILE # acl
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus
select BR2_PACKAGE_DBUS_GLIB
- select BR2_PACKAGE_UDEV
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
help
ModemManager is a DBus-activated daemon which controls mobile
broadband (2G/3G/4G) devices and connections.
comment "modemmanager needs udev /dev management and a toolchain w/ largefile, wchar, threads, IPv6"
depends on !BR2_INET_IPV6 || !BR2_LARGEFILE || !BR2_USE_WCHAR || \
- !BR2_TOOLCHAIN_HAS_THREADS || !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_UDEV
config BR2_PACKAGE_NETWORK_MANAGER
bool "NetworkManager"
depends on !BR2_avr32 # udev
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
- select BR2_PACKAGE_DBUS
depends on BR2_INET_IPV6
depends on BR2_LARGEFILE # acl
depends on BR2_USE_WCHAR # libglib2 and gnutls
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus
+ depends on BR2_PACKAGE_HAS_UDEV
+ select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
- select BR2_PACKAGE_UDEV
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
select BR2_PACKAGE_GNUTLS
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBNL
depends on BR2_USE_MMU
depends on !BR2_INET_IPV6 || !BR2_LARGEFILE || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ !BR2_PACKAGE_HAS_UDEV
# make sure that it is defined.
OFONO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
OFONO_CONF_OPT += --enable-udev
OFONO_DEPENDENCIES += udev
else
config BR2_PACKAGE_PCSC_LITE_FORCE_LIBUSB
bool "use libusb"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LIBUSB
help
Select Y if you want to support usb smart card readers.
# - libudev and libusb can't be used together
# - libudev has a priority over libusb
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
PCSC_LITE_CONF_OPT += --enable-libudev --disable-libusb
PCSC_LITE_DEPENDENCIES += udev
else
$(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
$(if $(BR2_PACKAGE_DBUS),dbus) \
$(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \
- $(if $(BR2_PACKAGE_UDEV),udev) \
+ $(if $(BR2_PACKAGE_HAS_UDEV),udev) \
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
$(if $(BR2_PACKAGE_FFTW),fftw) \
$(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \
config BR2_PACKAGE_SYSTEMD
bool "systemd"
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_INET_IPV6
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
depends on BR2_USE_MMU # dbus
http://freedesktop.org/wiki/Software/systemd
-comment "systemd needs udev /dev management and a toolchain w/ IPv6, threads"
+comment "systemd needs eudev /dev management and a toolchain w/ IPv6, threads"
depends on BR2_USE_MMU
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || !BR2_INET_IPV6 || \
+ depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV || !BR2_INET_IPV6 || \\
!BR2_TOOLCHAIN_HAS_THREADS
-config BR2_PACKAGE_UDEV
- bool "udev"
- depends on !BR2_avr32 # no epoll_create1
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
- 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
+config BR2_PACKAGE_HAS_UDEV
+ bool
help
- Userspace device daemon.
-
- udev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
- and inotify.
-
- ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
-
-if BR2_PACKAGE_UDEV
-
-config BR2_PACKAGE_UDEV_RULES_GEN
- bool "enable rules generator"
- help
- Enable persistant rules generator
-
-config BR2_PACKAGE_UDEV_ALL_EXTRAS
- bool "enable all extras"
- select BR2_PACKAGE_ACL
- select BR2_PACKAGE_HWDATA
- select BR2_PACKAGE_LIBGLIB2
- depends on BR2_USE_WCHAR # libglib2
- depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
- depends on BR2_USE_MMU # libglib2
- help
- Enable all extras with external dependencies like
- libacl, hwdata and libglib2
-
-comment "enabling all extras needs a toolchain w/ wchar, threads"
- depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
-
-endif
-
-comment "udev needs udev /dev management and a toolchain w/ largefile, wchar, dynamic library"
- depends on !BR2_avr32
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \
- !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
+ udev is now a virtual package.
+ Packages requiring udevd at run time or libudev/gudev at build time
+ should select it.
#
################################################################################
-UDEV_VERSION = 182
-UDEV_SOURCE = udev-$(UDEV_VERSION).tar.xz
-UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
-UDEV_LICENSE = GPLv2+
-UDEV_LICENSE_FILES = COPYING
-UDEV_INSTALL_STAGING = YES
+UDEV_SOURCE =
-# mq_getattr is in librt
-UDEV_CONF_ENV += LIBS=-lrt
-
-UDEV_CONF_OPT = \
- --sbindir=/sbin \
- --with-rootlibdir=/lib \
- --libexecdir=/lib \
- --with-usb-ids-path=/usr/share/hwdata/usb.ids \
- --with-pci-ids-path=/usr/share/hwdata/pci.ids \
- --with-firmware-path=/lib/firmware \
- --disable-introspection
-
-UDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
-
-ifeq ($(BR2_PACKAGE_UDEV_RULES_GEN),y)
-UDEV_CONF_OPT += --enable-rule_generator
-endif
-
-ifeq ($(BR2_PACKAGE_UDEV_ALL_EXTRAS),y)
-UDEV_DEPENDENCIES += acl hwdata libglib2
-UDEV_CONF_OPT += \
- --enable-udev_acl
-else
-UDEV_CONF_OPT += \
- --disable-gudev
+ifeq ($(BR2_PACKAGE_EUDEV),y)
+UDEV_DEPENDENCIES += eudev
endif
-ifeq ($(BR2_PACKAGE_SYSTEMD),y)
- UDEV_CONF_OPT += --with-systemdsystemunitdir=/lib/systemd/system/
-endif
-
-define UDEV_INSTALL_INITSCRIPT
- $(INSTALL) -m 0755 package/udev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
+ifeq ($(UDEV_DEPENDENCIES),)
+define UDEV_CONFIGURE_CMDS
+ echo "No Udev implementation selected. Configuration error."
+ exit 1
endef
+endif
-UDEV_POST_INSTALL_TARGET_HOOKS += UDEV_INSTALL_INITSCRIPT
-
-$(eval $(autotools-package))
+$(eval $(generic-package))
config BR2_PACKAGE_UDISKS
bool "udisks"
depends on !BR2_avr32 # udev
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2
depends on BR2_USE_MMU # lvm2
- select BR2_PACKAGE_UDEV
- select BR2_PACKAGE_UDEV_ALL_EXTRAS
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
depends on BR2_USE_WCHAR # dbus-glib -> glib2
endif
-comment "udisks needs udev /dev management and a toolchain w/ wchar, threads"
+comment "udisks needs udev /dev management"
depends on !BR2_avr32
depends on BR2_USE_MMU
- depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \
- !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_PACKAGE_HAS_UDEV
+
+comment "udisks needs a toolchain w/ wchar, threads"
+ depends on !BR2_avr32
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_USBMOUNT
bool "usbmount"
- depends on BR2_PACKAGE_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LOCKFILE_PROGS
help
The usbmount package automatically mounts USB mass storage devices
http://usbmount.alioth.debian.org/
comment "usbmount requires udev to be enabled"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
VLC_CONF_OPT += --disable-tremor
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
VLC_CONF_OPT += --enable-udev
VLC_DEPENDENCIES += udev
else
comment "weston needs udev and a toolchain w/ threads"
depends on !BR2_avr32
- depends on !BR2_PACKAGE_UDEV || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_WESTON
bool "weston"
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_MTDEV
- depends on BR2_PACKAGE_UDEV
+ depends on BR2_PACKAGE_HAS_UDEV
depends on !BR2_avr32 # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
# Runtime dependency
config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV
bool "xf86-input-evdev"
- depends on BR2_PACKAGE_UDEV # libudev is configure dependency
+ depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency
select BR2_PACKAGE_XPROTO_INPUTPROTO
select BR2_PACKAGE_XPROTO_RANDRPROTO
select BR2_PACKAGE_XPROTO_XPROTO
Generic Linux input driver
comment "xf86-input-evdev requires udev to be enabled"
- depends on !BR2_PACKAGE_UDEV
+ depends on !BR2_PACKAGE_HAS_UDEV
XSERVER_XORG_SERVER_CONF_OPT += --enable-tslib LDFLAGS="-lts"
endif
-ifeq ($(BR2_PACKAGE_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
XSERVER_XORG_SERVER_DEPENDENCIES += udev
XSERVER_XORG_SERVER_CONF_OPT += --enable-config-udev
else
/dev/rtp c 666 0 0 150 0 0 1 32
endef
-ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
XENOMAI_DEPENDENCIES += udev
define XENOMAI_INSTALL_UDEV_RULES
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
depends on BR2_INET_IPV6
- depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+ depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_SYSTEMD
-comment 'systemd needs udev /dev management and a toolchain w/ largefile, wchar, IPv6, threads'
+comment 'systemd needs eudev /dev management and a toolchain w/ largefile, wchar, IPv6, threads'
depends on BR2_USE_MMU
depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && \
BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && \
- BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV)
+ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV)
config BR2_INIT_NONE
bool "None"
bool "Dynamic using mdev"
select BR2_PACKAGE_BUSYBOX
-config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
- bool "Dynamic using udev"
- depends on !BR2_avr32 # udev
- depends on BR2_LARGEFILE # udev
- depends on BR2_USE_WCHAR # udev
- depends on !BR2_PREFER_STATIC_LIB # udev -> kmod
- select BR2_PACKAGE_UDEV
-
-comment "udev needs a toolchain w/ largefile, wchar"
- depends on !BR2_avr32 # udev
- depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
-
-comment "udev doesn't work with 'prefer static libraries'"
- depends on !BR2_avr32 # udev
- depends on BR2_PREFER_STATIC_LIB
-
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
bool "Dynamic using eudev"
depends on !BR2_avr32 # eudev