diff --git a/package/Config.in.host b/package/Config.in.host index 914491e210..c0ac4fbbcc 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -17,6 +17,7 @@ menu "Host utilities" source "package/dtc/Config.in.host" source "package/e2fsprogs/Config.in.host" source "package/e2tools/Config.in.host" + source "package/eudev/Config.in.host" source "package/f2fs-tools/Config.in.host" source "package/faketime/Config.in.host" source "package/fatcat/Config.in.host" diff --git a/package/eudev/Config.in.host b/package/eudev/Config.in.host new file mode 100644 index 0000000000..87dfc43912 --- /dev/null +++ b/package/eudev/Config.in.host @@ -0,0 +1,3 @@ +# Select this if you need host eudev tools (e.g. udevadm) +config BR2_PACKAGE_HOST_EUDEV + bool diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index 2a3adb849c..99b5befd09 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -55,4 +55,40 @@ define EUDEV_USERS - - kvm -1 * - - - kvm nodes endef +HOST_EUDEV_DEPENDENCIES = host-gperf host-pkgconf + +HOST_EUDEV_SYSCONFDIR = $(if $(BR2_PACKAGE_SYSTEMD),/usr/lib,/etc) +HOST_EUDEV_CONF_OPTS = \ + --prefix=/usr \ + --sbindir=/sbin \ + --libexecdir=/lib \ + --with-rootlibdir=/lib \ + --sysconfdir=$(HOST_EUDEV_SYSCONFDIR) \ + --disable-blkid \ + --disable-introspection \ + --disable-kmod \ + --disable-manpages \ + --disable-rule-generator \ + --disable-selinux \ + --enable-hwdb + +define HOST_EUDEV_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/src/udev/udevadm \ + $(HOST_DIR)/bin/udevadm +endef + +define HOST_EUDEV_BUILD_HWDB + $(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR) +endef +HOST_EUDEV_TARGET_FINALIZE_HOOKS += HOST_EUDEV_BUILD_HWDB + +# Note: this will run in the filesystem context, so will use a copy +# of tharget/, not the real one, so the files are still available on +# re-builds (foo-rebuild, etc...) +define HOST_EUDEV_RM_HWDB_SRC + rm -rf $(TARGET_DIR)/$(HOST_EUDEV_SYSCONFDIR)/udev/hwdb.d/ +endef +HOST_EUDEV_ROOTFS_PRE_CMD_HOOKS += HOST_EUDEV_RM_HWDB_SRC + $(eval $(autotools-package)) +$(eval $(host-autotools-package))