[Buildroot] [PATCH v3] udev: bump to 177 and other fixes
Yegor Yefremov
yegorslists at googlemail.com
Fri Jan 20 23:25:02 UTC 2012
On Fri, Jan 20, 2012 at 11:49 PM, Arnout Vandecappelle
(Essensium/Mind) <arnout at mind.be> wrote:
> From: "Arnout Vandecappelle (Essensium/Mind)" <arnout at mind.be>
>
> Changes:
> - Linux kernel requirement: 2.6.34 and above (devtmpfs is mandatory)
> - optional dependency on libusb and usbutils removed
> - added dependency on kmod
> - added dependency on util-linux for libblkid
> - install in /lib/udev instead of /usr/libexec/udev
> - udevd moved to /lib/udev
> - fixed path to pci.ids and usb.ids
> - persistent rules generator is disabled by default, so option
> is introduced to enable this option if desired
>
> Signed-off-by: Yegor Yefremov <yegorslists at googlemail.com>
> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
>
> ---
> Changes:
> v3: less aggressive dependencies and small fixes (Arnout Vandecappelle)
> v2: fix dependencies and make verbose commit message (review by Arnout Vandecappelle)
> v1: initial (Yegor Yefremov)
> ---
> package/udev/Config.in | 26 +++++++++++++++++---------
> package/udev/S10udev | 4 ++--
> package/udev/udev.mk | 20 ++++++++++++--------
> target/generic/Config.in | 2 ++
> 4 files changed, 33 insertions(+), 19 deletions(-)
>
> diff --git a/package/udev/Config.in b/package/udev/Config.in
> index 391c718..dfb4f0d 100644
> --- a/package/udev/Config.in
> +++ b/package/udev/Config.in
> @@ -1,31 +1,39 @@
> config BR2_PACKAGE_UDEV
> bool "udev"
> depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> + depends on BR2_LARGEFILE # util-linux
> + depends on BR2_USE_WCHAR # util-linux
> + select BR2_PACKAGE_UTIL_LINUX
> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> + select BR2_PACKAGE_KMOD
> help
> Userspace device daemon.
>
> + udev requires a Linux kernel >= 2.6.34: it relies on devtmpfs.
> +
> 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"
> - depends on BR2_LARGEFILE # acl
> - depends on BR2_USE_WCHAR # libglib2
> select BR2_PACKAGE_ACL
> - select BR2_PACKAGE_LIBUSB
> - select BR2_PACKAGE_LIBUSB_COMPAT
> - select BR2_PACKAGE_USBUTILS
> select BR2_PACKAGE_HWDATA
> select BR2_PACKAGE_LIBGLIB2
> help
> Enable all extras with external dependencies like
> - libacl, libusb, libusb-compat, usbutils, hwdata
> -
> -comment "udev extras requires a toolchain with LARGEFILE + WCHAR support"
> - depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
> + libacl, hwdata and libglib2
>
> endif
>
> comment "udev requires /dev mgmnt set to udev under System configuration"
> depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> +
> +comment "udev requires a toolchain with LARGEFILE + WCHAR support"
> + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
> +
> diff --git a/package/udev/S10udev b/package/udev/S10udev
> index 29eb107..70a7c34 100755
> --- a/package/udev/S10udev
> +++ b/package/udev/S10udev
> @@ -2,7 +2,7 @@
> #
> # 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.12+ kernels.
> +# 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
> @@ -17,7 +17,7 @@
> #
>
> # Check for missing binaries
> -UDEV_BIN=/sbin/udevd
> +UDEV_BIN=/lib/udev/udevd
> test -x $UDEV_BIN || exit 5
>
> # Check for config file and read it
> diff --git a/package/udev/udev.mk b/package/udev/udev.mk
> index 1825396..1c5d936 100644
> --- a/package/udev/udev.mk
> +++ b/package/udev/udev.mk
> @@ -3,7 +3,7 @@
> # udev
> #
> #############################################################
> -UDEV_VERSION = 173
> +UDEV_VERSION = 177
> UDEV_SOURCE = udev-$(UDEV_VERSION).tar.bz2
> UDEV_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
> UDEV_INSTALL_STAGING = YES
> @@ -11,20 +11,24 @@ UDEV_INSTALL_STAGING = YES
> UDEV_CONF_OPT = \
> --sbindir=/sbin \
> --with-rootlibdir=/lib \
> - --libexecdir=/lib/udev \
> + --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-pkg-config
> +UDEV_DEPENDENCIES = host-gperf host-pkg-config 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 += libusb libusb-compat acl usbutils hwdata libglib2
> -UDEV_CONF_OPT += \
> - --with-pci-ids-path=$(TARGET_DIR)/usr/share/hwdata/pci.ids \
> - --with-usb-ids-path=$(TARGET_DIR)/usr/share/hwdata/usb.ids \
> +UDEV_DEPENDENCIES += acl usbutils hwdata libglib2
> +UDEV_CONF_OPT += \
> --enable-udev_acl
> else
> UDEV_CONF_OPT += \
> - --disable-hwdb \
> --disable-gudev
> endif
>
> diff --git a/target/generic/Config.in b/target/generic/Config.in
> index a91de32..5334a4b 100644
> --- a/target/generic/Config.in
> +++ b/target/generic/Config.in
> @@ -28,6 +28,8 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
>
> config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
> bool "Dynamic using udev"
> + depends on BR2_LARGEFILE # udev
> + depends on BR2_USE_WCHAR # udev
> select BR2_PACKAGE_UDEV
>
> endchoice
> --
> 1.7.8.3
>
Thanks for the review. The stuff is really tricky. I'll test this
patch on Mo, when I'm in office.
The most thing I like about the latest version, is that rule generator
is disabled by default. I still don't really understand what is it
good for? In my everyday usage, where I have one image that I'm
running on different hosts, it is only disturbing, cause I always have
different network interfaces. I hope distros will disable this stuff
and make a description on how to activate it if needed.
Yegor
More information about the buildroot
mailing list