[BZ,24106] Remove all usage of @BASH@ or ${BASH} in installed files, and hardcode /bin/bash instead

Message ID 20210502121703.GA54708@ncerndobedev6097.etv.nce.amadeus.net
State Committed
Commit 5188a9d0265cc6f7235a8af1d31ab02e4a24853d
Delegated to: Siddhesh Poyarekar
Headers
Series [BZ,24106] Remove all usage of @BASH@ or ${BASH} in installed files, and hardcode /bin/bash instead |

Commit Message

Romain Geissler May 2, 2021, 12:17 p.m. UTC
  Hi,

(FYI, this is a repost of https://sourceware.org/pipermail/libc-alpha/2019-July/105035.html
now that FSF papers have been signed and confirmed on FSF side).

This trivial patch attemps to fix BZ 24106. Basically the bash locally used when
building glibc on the host shall not leak on the installed glibc, as the system
where it is installed might be different and use another bash location.

So I have looked for all occurences of @BASH@ or $(BASH) in installed files, and
replaced it by /bin/bash. This was suggested by Florian Weimer in the bug report.

Cheers,
Romain


commit 6ae46cca1f851b9d271a6761e0d1427665649e47
Author: Romain Geissler <romain.geissler@amadeus.com>
Date:   Tue Jul 16 17:14:54 2019 +0000

    Remove all usage of @BASH@ or ${BASH} in installed files, and hardcode /bin/bash instead.
  

Comments

Siddhesh Poyarekar May 12, 2021, 2:14 a.m. UTC | #1
On 5/2/21 5:47 PM, Romain GEISSLER via Libc-alpha wrote:
> Hi,
> 
> (FYI, this is a repost of https://sourceware.org/pipermail/libc-alpha/2019-July/105035.html
> now that FSF papers have been signed and confirmed on FSF side).
> 
> This trivial patch attemps to fix BZ 24106. Basically the bash locally used when
> building glibc on the host shall not leak on the installed glibc, as the system
> where it is installed might be different and use another bash location.
> 
> So I have looked for all occurences of @BASH@ or $(BASH) in installed files, and
> replaced it by /bin/bash. This was suggested by Florian Weimer in the bug report.

This is fine.  I verified that Debian also uses /bin/bash for these and 
not dash as I had suspected earlier.  I'll push it for you.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
  

Patch

diff --git a/debug/Makefile b/debug/Makefile
index 3f66666c6c1..6893111cbfa 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -216,8 +216,7 @@  $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o
 
 $(objpfx)xtrace: xtrace.sh
 	rm -f $@.new
-	sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
-	    -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
-	    -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+	sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
+	    -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
 	    -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
 	&& rm -f $@ && mv $@.new $@ && chmod +x $@
diff --git a/debug/xtrace.sh b/debug/xtrace.sh
index 279fe59ac61..9697fbe0b41 100755
--- a/debug/xtrace.sh
+++ b/debug/xtrace.sh
@@ -1,4 +1,4 @@ 
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 1999-2021 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
diff --git a/elf/Makefile b/elf/Makefile
index f09988f7d2d..a9dc4533b97 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -143,8 +143,7 @@  $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \
 	$(common-objpfx)libc_nonshared.a
 
 $(objpfx)sotruss: sotruss.sh $(common-objpfx)config.make
-	sed -e 's%@BASH@%$(BASH)%g' \
-	    -e 's%@VERSION@%$(version)%g' \
+	sed -e 's%@VERSION@%$(version)%g' \
 	    -e 's%@TEXTDOMAINDIR@%$(localedir)%g' \
 	    -e 's%@PREFIX@%$(prefix)%g' \
 	    -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
@@ -651,7 +650,6 @@  ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \
 	      -e 's%@VERSION@%$(version)%g' \
 	      -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
 	      -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
-	      -e 's%@BASH@%$(BASH)%g' \
 	      -e 's%@TEXTDOMAINDIR@%$(localedir)%g'
 
 ifeq ($(ldd-rewrite-script),no)
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index 57442bc3f23..ba736464ac5 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -1,4 +1,4 @@ 
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
diff --git a/elf/sotruss.sh b/elf/sotruss.sh
index fd4da802440..003cf4d8253 100755
--- a/elf/sotruss.sh
+++ b/elf/sotruss.sh
@@ -1,4 +1,4 @@ 
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 2011-2021 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
diff --git a/malloc/Makefile b/malloc/Makefile
index 641967c5127..afcd296ef6b 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -238,9 +238,8 @@  $(objpfx)mtrace: mtrace.pl
 
 $(objpfx)memusage: memusage.sh
 	rm -f $@.new
-	sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
-	    -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
-	    -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+	sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
+	    -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
 	    -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
 	&& rm -f $@ && mv $@.new $@ && chmod +x $@
 
diff --git a/malloc/memusage.sh b/malloc/memusage.sh
index c1cd4e23b73..0645f09911d 100755
--- a/malloc/memusage.sh
+++ b/malloc/memusage.sh
@@ -1,4 +1,4 @@ 
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 1999-2021 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
diff --git a/timezone/Makefile b/timezone/Makefile
index 395abfeebde..c624a189b32 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -123,8 +123,7 @@  $(testdata)/XT%: testdata/XT%
 	cp $< $@
 
 $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
-	sed -e 's|/bin/bash|$(BASH)|' \
-	    -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
+	sed -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
 	    -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
 	    -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
 	    -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \