@@ -11,6 +11,26 @@ config BR2_PACKAGE_UTIL_LINUX
if BR2_PACKAGE_UTIL_LINUX
+config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+ select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ bool "libblkid and blkid utilities"
+ default y
+
+config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
+ select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+ bool "libmount"
+
+config BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ bool "libuuid and uuid utilities"
+ default y
+
+config BR2_PACKAGE_UTIL_LINUX_BINARIES
+ bool "install utilities"
+ help
+ Install util-linux binaries.
+
+if BR2_PACKAGE_UTIL_LINUX_BINARIES
+
############################################
# default enabled and should be disabled by
# --disable-foo
@@ -24,22 +44,9 @@ config BR2_PACKAGE_UTIL_LINUX_FSCK
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
bool "build \"fsck\""
-config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
- select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
- bool "build libmount"
-
-config BR2_PACKAGE_UTIL_LINUX_LIBUUID
- bool "build libuuid and uuid utilities"
- default y
-
config BR2_PACKAGE_UTIL_LINUX_UUIDD
bool "build \"uuidd\""
-config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
- select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- bool "build libblkid and blkid utilities"
- default y
-
config BR2_PACKAGE_UTIL_LINUX_AGETTY
bool "build \"agetty\""
@@ -104,5 +111,7 @@ config BR2_PACKAGE_UTIL_LINUX_WRITE
endif
+endif
+
comment "util-linux requires a toolchain with LARGEFILE + WCHAR support"
depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
@@ -3,6 +3,7 @@
# util-linux
#
#############################################################
+
UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1
UTIL_LINUX_VERSION_MAJOR = 2.20
UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.bz2
@@ -11,7 +12,6 @@ UTIL_LINUX_AUTORECONF = YES
UTIL_LINUX_INSTALL_STAGING = YES
UTIL_LINUX_DEPENDENCIES = host-pkg-config
UTIL_LINUX_CONF_ENV = scanf_cv_type_modifier=no
-
UTIL_LINUX_CONF_OPT += --disable-rpath --disable-makeinstall-chown
# We don't want the host-busybox dependency to be added automatically
@@ -81,6 +81,41 @@ HOST_UTIL_LINUX_CONF_OPT += \
--disable-fallocate --disable-unshare --disable-rename \
--disable-schedutils --disable-wall --disable-partx
+# Avoid the basic utilities if we just want the libraries
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_BINARIES),y)
+define UTIL_LINUX_INSTALL_BINARIES
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
+define UTIL_LINUX_INSTALL_LIBBLKID
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libblkid \
+ DESTDIR=$(TARGET_DIR) install
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y)
+define UTIL_LINUX_INSTALL_LIBMOUNT
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libmount \
+ DESTDIR=$(TARGET_DIR) install
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
+define UTIL_LINUX_INSTALL_LIBUUID
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libuuid \
+ DESTDIR=$(TARGET_DIR) install
+endef
+endif
+
+define UTIL_LINUX_INSTALL_TARGET_CMDS
+ $(UTIL_LINUX_INSTALL_BINARIES)
+ $(UTIL_LINUX_INSTALL_LIBBLKID)
+ $(UTIL_LINUX_INSTALL_LIBMOUNT)
+ $(UTIL_LINUX_INSTALL_LIBUUID)
+endef
+
$(eval $(call AUTOTARGETS))
$(eval $(call AUTOTARGETS,host))
Disable installing binaries by default. This is to avoid installing unnecessary bloat when we just need libblkid/libuuid for some packages like e2fsprogs. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> --- package/util-linux/Config.in | 35 ++++++++++++++++++++++------------- package/util-linux/util-linux.mk | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 14 deletions(-)