[Buildroot] [PATCH] coreutils: use single binary in symlink method, with merged usr

Carlos Santos casantos at datacom.ind.br
Wed Sep 27 17:47:19 UTC 2017


> From: "Carlos Santos" <casantos at datacom.ind.br>
> To: buildroot at buildroot.org
> Sent: Wednesday, September 27, 2017 1:23:31 PM
> Subject: [Buildroot] [PATCH] coreutils: use single binary in symlink method,	with merged usr

> The symlink method is faster, since there is no shell fork/exec, and
> provides extra space savings. Keep using the shebang method without
> merged usr, because it makes easier to move binaries into other
> directories.
> 
> Signed-off-by: Carlos Santos <casantos at datacom.ind.br>
> ---
> package/coreutils/coreutils.mk | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
> index 6a8a31b..721c711 100644
> --- a/package/coreutils/coreutils.mk
> +++ b/package/coreutils/coreutils.mk
> @@ -14,7 +14,7 @@ COREUTILS_LICENSE_FILES = COPYING
> COREUTILS_AUTORECONF = YES
> COREUTILS_GETTEXTIZE = YES
> 
> -COREUTILS_CONF_OPTS = --disable-rpath --enable-single-binary=shebangs \
> +COREUTILS_CONF_OPTS = --disable-rpath \
> 	$(if $(BR2_TOOLCHAIN_USES_MUSL),--with-included-regex)
> COREUTILS_CONF_ENV = ac_cv_c_restrict=no \
> 	ac_cv_func_chown_works=yes \
> @@ -101,9 +101,15 @@ COREUTILS_CONF_OPTS += --with-openssl=yes
> COREUTILS_DEPENDENCIES += openssl
> endif
> 
> +# Build as a single binary for some neat space savings. Use the symlink method
> +# with merged usr. Otherwise use the shebang method since it allows us to move
> +# binaries into other directories whereas for symlink that wouldn't be so easy.
> ifeq ($(BR2_ROOTFS_MERGED_USR),)

Sorry, I sent the wrong patch. This should be "ifeq ($(BR2_ROOTFS_MERGED_USR),y)"

> +COREUTILS_CONF_OPTS += --enable-single-binary=symlinks
> +else
> +COREUTILS_CONF_OPTS += --enable-single-binary=shebangs
> define COREUTILS_CLEANUP_BIN
> -	# some things go in root rather than usr
> +	# some things go in /bin rather than /usr/bin
> 	for f in $(COREUTILS_BIN_PROGS); do \
> 		mv -f $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f || exit 1; \
> 	done
> --
> 2.7.5

-- 
Carlos Santos (Casantos) - DATACOM, P&D
“The greatest triumph that modern PR can offer is the transcendent 
success of having your words and actions judged by your reputation, 
rather than the other way about.” — Christopher Hitchens



More information about the buildroot mailing list