diff --git a/package/eudev/Config.in b/package/eudev/Config.in index bfad99a27..40ff72182 100644 --- a/package/eudev/Config.in +++ b/package/eudev/Config.in @@ -21,6 +21,9 @@ config BR2_PACKAGE_EUDEV if BR2_PACKAGE_EUDEV +config BR2_PACKAGE_PROVIDES_UDEV + default "eudev" + config BR2_PACKAGE_EUDEV_RULES_GEN bool "enable rules generator" help diff --git a/package/systemd/Config.in b/package/systemd/Config.in index e3ea43372..eacc23cc6 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -40,6 +40,9 @@ config BR2_PACKAGE_SYSTEMD if BR2_PACKAGE_SYSTEMD +config BR2_PACKAGE_PROVIDES_UDEV + default "systemd" + config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS bool "enable all extras" select BR2_PACKAGE_XZ diff --git a/package/udev/Config.in b/package/udev/Config.in index 5cd405162..941a5152f 100644 --- a/package/udev/Config.in +++ b/package/udev/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_HAS_UDEV bool - help - udev is now a virtual package. - Packages requiring udevd at run time or libudev/gudev at build time - should select it. + +config BR2_PACKAGE_PROVIDES_UDEV + depends on BR2_PACKAGE_HAS_UDEV + string diff --git a/package/udev/udev.mk b/package/udev/udev.mk index a5d0f800c..f5eeeb494 100644 --- a/package/udev/udev.mk +++ b/package/udev/udev.mk @@ -5,20 +5,12 @@ ################################################################################ UDEV_SOURCE = +UDEV_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_UDEV)) -ifeq ($(BR2_PACKAGE_EUDEV),y) -UDEV_DEPENDENCIES += eudev -endif - -ifeq ($(BR2_PACKAGE_SYSTEMD),y) -UDEV_DEPENDENCIES += systemd -endif - +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) ifeq ($(UDEV_DEPENDENCIES),) -define UDEV_CONFIGURE_CMDS - echo "No Udev implementation selected. Configuration error." - exit 1 -endef +$(error No Udev implementation selected. Configuration error) +endif endif $(eval $(generic-package))