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

(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.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
This commit is contained in:
Romain GEISSLER 2021-05-12 07:45:33 +05:30 committed by Siddhesh Poyarekar
parent fec776b827
commit 5188a9d026
8 changed files with 10 additions and 15 deletions

View File

@ -216,8 +216,7 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o
$(objpfx)xtrace: xtrace.sh $(objpfx)xtrace: xtrace.sh
rm -f $@.new rm -f $@.new
sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \ sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
-e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \ -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
-e 's|@PKGVERSION@|$(PKGVERSION)|' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@ && rm -f $@ && mv $@.new $@ && chmod +x $@

View File

@ -1,4 +1,4 @@
#! @BASH@ #!/bin/bash
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library. # This file is part of the GNU C Library.
# Contributed by Ulrich Drepper <drepper@gnu.org>, 1999. # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.

View File

@ -144,8 +144,7 @@ $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \
$(common-objpfx)libc_nonshared.a $(common-objpfx)libc_nonshared.a
$(objpfx)sotruss: sotruss.sh $(common-objpfx)config.make $(objpfx)sotruss: sotruss.sh $(common-objpfx)config.make
sed -e 's%@BASH@%$(BASH)%g' \ sed -e 's%@VERSION@%$(version)%g' \
-e 's%@VERSION@%$(version)%g' \
-e 's%@TEXTDOMAINDIR@%$(localedir)%g' \ -e 's%@TEXTDOMAINDIR@%$(localedir)%g' \
-e 's%@PREFIX@%$(prefix)%g' \ -e 's%@PREFIX@%$(prefix)%g' \
-e 's|@PKGVERSION@|$(PKGVERSION)|g' \ -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
@ -654,7 +653,6 @@ ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \
-e 's%@VERSION@%$(version)%g' \ -e 's%@VERSION@%$(version)%g' \
-e 's|@PKGVERSION@|$(PKGVERSION)|g' \ -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
-e 's%@BASH@%$(BASH)%g' \
-e 's%@TEXTDOMAINDIR@%$(localedir)%g' -e 's%@TEXTDOMAINDIR@%$(localedir)%g'
ifeq ($(ldd-rewrite-script),no) ifeq ($(ldd-rewrite-script),no)

View File

@ -1,4 +1,4 @@
#! @BASH@ #!/bin/bash
# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library. # This file is part of the GNU C Library.

View File

@ -1,4 +1,4 @@
#! @BASH@ #!/bin/bash
# Copyright (C) 2011-2021 Free Software Foundation, Inc. # Copyright (C) 2011-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library. # This file is part of the GNU C Library.

View File

@ -238,9 +238,8 @@ $(objpfx)mtrace: mtrace.pl
$(objpfx)memusage: memusage.sh $(objpfx)memusage: memusage.sh
rm -f $@.new rm -f $@.new
sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \ sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
-e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \ -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
-e 's|@PKGVERSION@|$(PKGVERSION)|' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
&& rm -f $@ && mv $@.new $@ && chmod +x $@ && rm -f $@ && mv $@.new $@ && chmod +x $@

View File

@ -1,4 +1,4 @@
#! @BASH@ #!/bin/bash
# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Copyright (C) 1999-2021 Free Software Foundation, Inc.
# This file is part of the GNU C Library. # This file is part of the GNU C Library.
# Contributed by Ulrich Drepper <drepper@gnu.org>, 1999. # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.

View File

@ -123,8 +123,7 @@ $(testdata)/XT%: testdata/XT%
cp $< $@ cp $< $@
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
sed -e 's|/bin/bash|$(BASH)|' \ sed -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
-e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
-e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
-e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
-e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \