* [Buildroot] [PATCH v2 0/2] Switch coreutils to symlink method
@ 2018-04-01 15:39 Thomas Petazzoni
2018-04-01 15:39 ` [Buildroot] [PATCH v2 1/2] coreutils: rewrite for loop with foreach Thomas Petazzoni
2018-04-01 15:39 ` [Buildroot] [PATCH v2 2/2] coreutils: use single binary in symlink method Thomas Petazzoni
0 siblings, 2 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2018-04-01 15:39 UTC (permalink / raw)
To: buildroot
Hello,
This is a new iteration of Carlos Santos patch [1] for coreutils, with
the following changes:
- Add a patch to use a foreach make loop instead of a for shell loop.
- Use the symlink method instead of shell wrappers in all cases, not
only in the merged /usr situation, by tweaking how some programs
are moved from /usr/bin to /bin.
[1] https://patchwork.ozlabs.org/patch/819273/
Thanks,
Thomas
Carlos Santos (1):
coreutils: use single binary in symlink method
Thomas Petazzoni (1):
coreutils: rewrite for loop with foreach
package/coreutils/coreutils.mk | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
--
2.14.3
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 1/2] coreutils: rewrite for loop with foreach
2018-04-01 15:39 [Buildroot] [PATCH v2 0/2] Switch coreutils to symlink method Thomas Petazzoni
@ 2018-04-01 15:39 ` Thomas Petazzoni
2018-04-01 20:52 ` Peter Korsgaard
2018-04-01 15:39 ` [Buildroot] [PATCH v2 2/2] coreutils: use single binary in symlink method Thomas Petazzoni
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2018-04-01 15:39 UTC (permalink / raw)
To: buildroot
This brings up error checking at each iteration of the loop for free,
which removes the need for "|| exit 1".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
package/coreutils/coreutils.mk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index 8259f42f4a..8880e77dcc 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -104,9 +104,9 @@ endif
ifeq ($(BR2_ROOTFS_MERGED_USR),)
define COREUTILS_CLEANUP_BIN
# some things go in root rather than usr
- for f in $(COREUTILS_BIN_PROGS); do \
- mv -f $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f || exit 1; \
- done
+ $(foreach f,$(COREUTILS_BIN_PROGS), \
+ mv -f $(TARGET_DIR)/usr/bin/$(f) $(TARGET_DIR)/bin/$(f)
+ )
endef
COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP_BIN
endif
--
2.14.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 2/2] coreutils: use single binary in symlink method
2018-04-01 15:39 [Buildroot] [PATCH v2 0/2] Switch coreutils to symlink method Thomas Petazzoni
2018-04-01 15:39 ` [Buildroot] [PATCH v2 1/2] coreutils: rewrite for loop with foreach Thomas Petazzoni
@ 2018-04-01 15:39 ` Thomas Petazzoni
2018-04-01 20:57 ` Peter Korsgaard
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2018-04-01 15:39 UTC (permalink / raw)
To: buildroot
From: Carlos Santos <casantos@datacom.ind.br>
The symlink method is faster, since there is no shell fork/exec, and
provides extra space savings.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas: use the symlinks method not only for the merged /usr case,
but also in the non-merged case to be consistent, and therefore adjust
the logic that was moving the shell wrappers to a logic that recreates
the symlinks.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
package/coreutils/coreutils.mk | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index 8880e77dcc..4ef888829f 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 --enable-single-binary=symlinks \
$(if $(BR2_TOOLCHAIN_USES_MUSL),--with-included-regex)
COREUTILS_CONF_ENV = ac_cv_c_restrict=no \
ac_cv_func_chown_works=yes \
@@ -103,9 +103,10 @@ endif
ifeq ($(BR2_ROOTFS_MERGED_USR),)
define COREUTILS_CLEANUP_BIN
- # some things go in root rather than usr
+ # some things go in /bin rather than /usr/bin
$(foreach f,$(COREUTILS_BIN_PROGS), \
- mv -f $(TARGET_DIR)/usr/bin/$(f) $(TARGET_DIR)/bin/$(f)
+ rm -f $(TARGET_DIR)/usr/bin/$(f) && \
+ ln -sf ../usr/bin/coreutils $(TARGET_DIR)/bin/$(f)
)
endef
COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP_BIN
--
2.14.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 1/2] coreutils: rewrite for loop with foreach
2018-04-01 15:39 ` [Buildroot] [PATCH v2 1/2] coreutils: rewrite for loop with foreach Thomas Petazzoni
@ 2018-04-01 20:52 ` Peter Korsgaard
0 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2018-04-01 20:52 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:
> This brings up error checking at each iteration of the loop for free,
> which removes the need for "|| exit 1".
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 2/2] coreutils: use single binary in symlink method
2018-04-01 15:39 ` [Buildroot] [PATCH v2 2/2] coreutils: use single binary in symlink method Thomas Petazzoni
@ 2018-04-01 20:57 ` Peter Korsgaard
0 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2018-04-01 20:57 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:
> From: Carlos Santos <casantos@datacom.ind.br>
> The symlink method is faster, since there is no shell fork/exec, and
> provides extra space savings.
> Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
> [Thomas: use the symlinks method not only for the merged /usr case,
> but also in the non-merged case to be consistent, and therefore adjust
> the logic that was moving the shell wrappers to a logic that recreates
> the symlinks.]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-04-01 20:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-01 15:39 [Buildroot] [PATCH v2 0/2] Switch coreutils to symlink method Thomas Petazzoni
2018-04-01 15:39 ` [Buildroot] [PATCH v2 1/2] coreutils: rewrite for loop with foreach Thomas Petazzoni
2018-04-01 20:52 ` Peter Korsgaard
2018-04-01 15:39 ` [Buildroot] [PATCH v2 2/2] coreutils: use single binary in symlink method Thomas Petazzoni
2018-04-01 20:57 ` Peter Korsgaard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.