Message ID | 1360158623-19010-1-git-send-email-gustavo@zacarias.com.ar |
---|---|
State | Superseded |
Headers | show |
On 06/02/13 14:50, Gustavo Zacarias wrote: [snip] > +config BR2_PACKAGE_UTIL_LINUX_BINARIES > + bool "install utilities" > + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID > + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT Why is libmount selected? It wasn't selected before when you built just one binary, e.g. mount. Same for the other two, actually. Of course, it's possible that configure adds them implicitly anyway, I don't know that. > + select BR2_PACKAGE_UTIL_LINUX_LIBUUID > + help > + Install util-linux binaries. Maybe it's worth mentioning that selecting this option installs some binaries even if nothing is selected below. [snip] > @@ -87,6 +87,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 Shouldn't there be an else here instead of endif? If you do a top-level install, there is no need to explicitly go into the subdirectories as well. Regards, Arnout > + > +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 $(autotools-package)) > $(eval $(host-autotools-package)) > >
On 02/06/2013 02:42 PM, Arnout Vandecappelle wrote: >> +config BR2_PACKAGE_UTIL_LINUX_BINARIES >> + bool "install utilities" >> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID >> + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT > > Why is libmount selected? It wasn't selected before when you built just > one binary, e.g. mount. Same for the other two, actually. Of course, > it's possible that configure adds them implicitly anyway, I don't know > that. Because i'm explicitly disabling it otherwise in util-linux.mk Don't want to hit build breakages by guessing what configure wants/needs and if it's handled properly (maybe it is with this version and maybe not in newer ones). >> + select BR2_PACKAGE_UTIL_LINUX_LIBUUID >> + help >> + Install util-linux binaries. > > Maybe it's worth mentioning that selecting this option installs some > binaries even if nothing is selected below. "Install the basic set of util-linux binaries" ? I'm not quite original making up a more verbose description at the moment. > [snip] >> @@ -87,6 +87,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 > > Shouldn't there be an else here instead of endif? If you do a top-level > install, there is no need to explicitly go into the subdirectories as well. Noted for the next rev. Regards.
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index 5eab956..424474d 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -11,6 +11,29 @@ config BR2_PACKAGE_UTIL_LINUX if BR2_PACKAGE_UTIL_LINUX +config BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + bool "libblkid" + default y + +config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + bool "libmount" + +config BR2_PACKAGE_UTIL_LINUX_LIBUUID + bool "libuuid" + default y + +config BR2_PACKAGE_UTIL_LINUX_BINARIES + bool "install utilities" + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Install util-linux binaries. + +if BR2_PACKAGE_UTIL_LINUX_BINARIES + ############################################ # default enabled and should be disabled by # --disable-foo @@ -18,28 +41,13 @@ if BR2_PACKAGE_UTIL_LINUX config BR2_PACKAGE_UTIL_LINUX_MOUNT bool "build mount utilties" - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID 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\"" @@ -69,7 +77,6 @@ config BR2_PACKAGE_UTIL_LINUX_WALL config BR2_PACKAGE_UTIL_LINUX_PARTX bool "build \"addpart, delpart, partx\"" - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID ############################################ # default disabled and should be enabled by @@ -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) diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index 73ae174..3ab6e31 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -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 @@ -17,7 +18,6 @@ UTIL_LINUX_AUTORECONF = YES UTIL_LINUX_INSTALL_STAGING = YES UTIL_LINUX_DEPENDENCIES = host-pkgconf 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 @@ -87,6 +87,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 $(autotools-package)) $(eval $(host-autotools-package))
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 | 41 ++++++++++++++++++++++++---------------- package/util-linux/util-linux.mk | 37 +++++++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 17 deletions(-)