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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Romain Geissler
Hi,

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.

Note: I have no copyright assignment and I know it. I hope this patch is trivial
and small enough to be accepted even without such legal paper signed.

Cheers,
Romain

2019-07-16  Romain Geissler  <[hidden email]>

        * debug/Makefile: ($(objpfx)xtrace): Don't replace @BASH@.
        * elf/Makefile: ($(objpfx)sotruss): Likewise.
        (ldd-rewrite): Likewise.
        * malloc/Makefile: ($(objpfx)memusage): Likewise.
        * timezone/Makefile: ($(objpfx)tzselect): Don't replace /bin/bash.
        * debug/xtrace.sh: Hardcode /bin/bash instead of @BASH@.
        * elf/ldd.bash.in: Likewise.
        * elf/sotruss.sh: Likewise.
        * malloc/memusage.sh: Likewise.


From 6adceb3cc65aaa100b2368fd17b4d1d609b37de6 Mon Sep 17 00:00:00 2001
From: Romain Geissler <[hidden email]>
Date: Tue, 16 Jul 2019 17:14:54 +0000
Subject: [PATCH] Remove all usage of @BASH@ or ${BASH} in installed files, and
 hardcode /bin/bash instead.

---
 debug/Makefile     | 5 ++---
 debug/xtrace.sh    | 2 +-
 elf/Makefile       | 4 +---
 elf/ldd.bash.in    | 2 +-
 elf/sotruss.sh     | 2 +-
 malloc/Makefile    | 5 ++---
 malloc/memusage.sh | 2 +-
 timezone/Makefile  | 3 +--
 8 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/debug/Makefile b/debug/Makefile
index 6351b7e9f48..c5714c29db1 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -205,8 +205,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 dad16113754..34fe00a0b2d 100755
--- a/debug/xtrace.sh
+++ b/debug/xtrace.sh
@@ -1,4 +1,4 @@
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 1999-2019 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <[hidden email]>, 1999.
diff --git a/elf/Makefile b/elf/Makefile
index a3eefd1b1f4..e80aac2519b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -132,8 +132,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' \
@@ -563,7 +562,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 32ec62eda61..2cbf1a3795d 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -1,4 +1,4 @@
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 1996-2019 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.

diff --git a/elf/sotruss.sh b/elf/sotruss.sh
index 6e06eae00cf..d6bdafe9e65 100755
--- a/elf/sotruss.sh
+++ b/elf/sotruss.sh
@@ -1,4 +1,4 @@
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 2011-2019 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.

diff --git a/malloc/Makefile b/malloc/Makefile
index d2fba29953c..b55256f03ae 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -216,9 +216,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 ee080a2ece5..e9396f09e73 100755
--- a/malloc/memusage.sh
+++ b/malloc/memusage.sh
@@ -1,4 +1,4 @@
-#! @BASH@
+#!/bin/bash
 # Copyright (C) 1999-2019 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <[hidden email]>, 1999.
diff --git a/timezone/Makefile b/timezone/Makefile
index 493deca7904..0c077e5c3d7 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -122,8 +122,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)"|' \
--
2.17.1

Reply | Threaded
Open this post in threaded view
|

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

Adhemerval Zanella-2


On 16/07/2019 16:13, Romain Geissler wrote:

> Hi,
>
> 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.
>
> Note: I have no copyright assignment and I know it. I hope this patch is trivial
> and small enough to be accepted even without such legal paper signed.

Path looks ok, I am not sure about if it can be categorized as 'trivial' though.

>
> Cheers,
> Romain
>
> 2019-07-16  Romain Geissler  <[hidden email]>
>
> * debug/Makefile: ($(objpfx)xtrace): Don't replace @BASH@.
> * elf/Makefile: ($(objpfx)sotruss): Likewise.
> (ldd-rewrite): Likewise.
> * malloc/Makefile: ($(objpfx)memusage): Likewise.
> * timezone/Makefile: ($(objpfx)tzselect): Don't replace /bin/bash.
> * debug/xtrace.sh: Hardcode /bin/bash instead of @BASH@.
> * elf/ldd.bash.in: Likewise.
> * elf/sotruss.sh: Likewise.
> * malloc/memusage.sh: Likewise.
>
>
> From 6adceb3cc65aaa100b2368fd17b4d1d609b37de6 Mon Sep 17 00:00:00 2001
> From: Romain Geissler <[hidden email]>
> Date: Tue, 16 Jul 2019 17:14:54 +0000
> Subject: [PATCH] Remove all usage of @BASH@ or ${BASH} in installed files, and
>  hardcode /bin/bash instead.
>
> ---
>  debug/Makefile     | 5 ++---
>  debug/xtrace.sh    | 2 +-
>  elf/Makefile       | 4 +---
>  elf/ldd.bash.in    | 2 +-
>  elf/sotruss.sh     | 2 +-
>  malloc/Makefile    | 5 ++---
>  malloc/memusage.sh | 2 +-
>  timezone/Makefile  | 3 +--
>  8 files changed, 10 insertions(+), 15 deletions(-)
>
> diff --git a/debug/Makefile b/debug/Makefile
> index 6351b7e9f48..c5714c29db1 100644
> --- a/debug/Makefile
> +++ b/debug/Makefile
> @@ -205,8 +205,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 dad16113754..34fe00a0b2d 100755
> --- a/debug/xtrace.sh
> +++ b/debug/xtrace.sh
> @@ -1,4 +1,4 @@
> -#! @BASH@
> +#!/bin/bash
>  # Copyright (C) 1999-2019 Free Software Foundation, Inc.
>  # This file is part of the GNU C Library.
>  # Contributed by Ulrich Drepper <[hidden email]>, 1999.
> diff --git a/elf/Makefile b/elf/Makefile
> index a3eefd1b1f4..e80aac2519b 100644
> --- a/elf/Makefile
> +++ b/elf/Makefile
> @@ -132,8 +132,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' \
> @@ -563,7 +562,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 32ec62eda61..2cbf1a3795d 100644
> --- a/elf/ldd.bash.in
> +++ b/elf/ldd.bash.in
> @@ -1,4 +1,4 @@
> -#! @BASH@
> +#!/bin/bash
>  # Copyright (C) 1996-2019 Free Software Foundation, Inc.
>  # This file is part of the GNU C Library.
>
> diff --git a/elf/sotruss.sh b/elf/sotruss.sh
> index 6e06eae00cf..d6bdafe9e65 100755
> --- a/elf/sotruss.sh
> +++ b/elf/sotruss.sh
> @@ -1,4 +1,4 @@
> -#! @BASH@
> +#!/bin/bash
>  # Copyright (C) 2011-2019 Free Software Foundation, Inc.
>  # This file is part of the GNU C Library.
>
> diff --git a/malloc/Makefile b/malloc/Makefile
> index d2fba29953c..b55256f03ae 100644
> --- a/malloc/Makefile
> +++ b/malloc/Makefile
> @@ -216,9 +216,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 ee080a2ece5..e9396f09e73 100755
> --- a/malloc/memusage.sh
> +++ b/malloc/memusage.sh
> @@ -1,4 +1,4 @@
> -#! @BASH@
> +#!/bin/bash
>  # Copyright (C) 1999-2019 Free Software Foundation, Inc.
>  # This file is part of the GNU C Library.
>  # Contributed by Ulrich Drepper <[hidden email]>, 1999.
> diff --git a/timezone/Makefile b/timezone/Makefile
> index 493deca7904..0c077e5c3d7 100644
> --- a/timezone/Makefile
> +++ b/timezone/Makefile
> @@ -122,8 +122,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)"|' \
>
Reply | Threaded
Open this post in threaded view
|

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

Carlos O'Donell-6
On 7/18/19 1:37 PM, Adhemerval Zanella wrote:

>
>
> On 16/07/2019 16:13, Romain Geissler wrote:
>> Hi,
>>
>> 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.
>>
>> Note: I have no copyright assignment and I know it. I hope this patch is trivial
>> and small enough to be accepted even without such legal paper signed.
>
> Path looks ok, I am not sure about if it can be categorized as 'trivial' though.
I agree. This class of change is best done when the branch opens in August 1st.

--
Cheers,
Carlos.