unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/5] Clean-up of /bin/sh patching
@ 2017-01-05 16:28 Leo Famulari
  2017-01-05 16:28 ` [PATCH 1/5] gnu: m4: Don't replace 'sh' reference with 'bash' Leo Famulari
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 16:28 UTC (permalink / raw)
  To: guix-devel

This patch series changes all the instances of /bin/sh being patched to
/bin/bash that I can find.

They are for core-updates.

In case you are wondering why this matters, since our /bin/sh is
provided by Bash, Bash behaves differently based on the name it is
invoked with. This is briefly documented in the Invocation section of
bash(1).

The gawk patch would actually be committed as a re-reversion of the
commit that I made to the master branch before realizing that it caused
too many rebuilds.  But I present it for review in this format for
clarity.

Leo Famulari (5):
  gnu: m4: Don't replace 'sh' reference with 'bash'.
  gnu: gnu-make: Don't replace 'sh' reference with 'bash'.
  gnu: glibc/linux: Don't replace 'sh' reference with 'bash'.
  gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default
    shell.
  gnu: gawk: Don't replace 'sh' reference with 'bash'.

 gnu/packages/base.scm | 6 +++---
 gnu/packages/gawk.scm | 2 +-
 gnu/packages/m4.scm   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

-- 
2.11.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/5] gnu: m4: Don't replace 'sh' reference with 'bash'.
  2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
@ 2017-01-05 16:28 ` Leo Famulari
  2017-01-05 16:28 ` [PATCH 2/5] gnu: gnu-make: " Leo Famulari
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 16:28 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/m4.scm (m4)[arguments]: Use /bin/sh instead of /bin/bash in
'pre-check' phase.
---
 gnu/packages/m4.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm
index 6ad00f8a5..3ee8142e7 100644
--- a/gnu/packages/m4.scm
+++ b/gnu/packages/m4.scm
@@ -50,7 +50,7 @@
                     (substitute* (find-files "tests"
                                              "posix_spawn")
                       (("/bin/sh")
-                       (format #f "~a/bin/bash" bash)))))
+                       (format #f "~a/bin/sh" bash)))))
                 %standard-phases)))
    (synopsis "Macro processor")
    (description
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/5] gnu: gnu-make: Don't replace 'sh' reference with 'bash'.
  2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
  2017-01-05 16:28 ` [PATCH 1/5] gnu: m4: Don't replace 'sh' reference with 'bash' Leo Famulari
@ 2017-01-05 16:28 ` Leo Famulari
  2017-01-05 17:14   ` Marius Bakke
  2017-01-05 16:28 ` [PATCH 3/5] gnu: glibc/linux: " Leo Famulari
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 16:28 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/base.scm (gnu-make)[arguments]: Use /bin/sh instead of /bin/bash
in 'set-default-shell' phase.
---
 gnu/packages/base.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 66c5e0cdc..1f25a05aa 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -364,7 +364,7 @@ functionality beyond that which is outlined in the POSIX standard.")
             (let ((bash (assoc-ref inputs "bash")))
               (substitute* "job.c"
                 (("default_shell =.*$")
-                 (format #f "default_shell = \"~a/bin/bash\";\n"
+                 (format #f "default_shell = \"~a/bin/sh\";\n"
                          bash)))))))))
    (synopsis "Remake files automatically")
    (description
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/5] gnu: glibc/linux: Don't replace 'sh' reference with 'bash'.
  2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
  2017-01-05 16:28 ` [PATCH 1/5] gnu: m4: Don't replace 'sh' reference with 'bash' Leo Famulari
  2017-01-05 16:28 ` [PATCH 2/5] gnu: gnu-make: " Leo Famulari
@ 2017-01-05 16:28 ` Leo Famulari
  2017-01-05 16:28 ` [PATCH 4/5] gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default shell Leo Famulari
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 16:28 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/base.scm (glibc/linux)[arguments]: Use /bin/sh instead of
/bin/bash in 'pre-configure' phase.
---
 gnu/packages/base.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 1f25a05aa..bdd613aad 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -621,7 +621,7 @@ store.")
                       ;; Same for `popen'.
                       (substitute* "libio/iopopen.c"
                         (("/bin/sh")
-                         (string-append bash "/bin/bash")))
+                         (string-append bash "/bin/sh")))
 
                       ;; Same for the shell used by the 'exec' functions for
                       ;; scripts that lack a shebang.
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/5] gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default shell.
  2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
                   ` (2 preceding siblings ...)
  2017-01-05 16:28 ` [PATCH 3/5] gnu: glibc/linux: " Leo Famulari
@ 2017-01-05 16:28 ` Leo Famulari
  2017-01-05 16:28 ` [PATCH 5/5] gnu: gawk: Don't replace 'sh' reference with 'bash' Leo Famulari
  2017-01-05 17:10 ` [PATCH 0/5] Clean-up of /bin/sh patching Marius Bakke
  5 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 16:28 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/base.scm (glibc/linux)[arguments]: Use /bin/sh for scripts that
lack a shebang.
---
 gnu/packages/base.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index bdd613aad..01e21f7c6 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -628,7 +628,7 @@ store.")
                       (substitute* (find-files "." "^paths\\.h$")
                         (("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$")
                          (string-append "#define _PATH_BSHELL \""
-                                        bash "/bin/bash\"\n")))
+                                        bash "/bin/sh\"\n")))
 
                       ;; Nscd uses __DATE__ and __TIME__ to create a string to
                       ;; make sure the client and server come from the same
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/5] gnu: gawk: Don't replace 'sh' reference with 'bash'.
  2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
                   ` (3 preceding siblings ...)
  2017-01-05 16:28 ` [PATCH 4/5] gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default shell Leo Famulari
@ 2017-01-05 16:28 ` Leo Famulari
  2017-01-05 17:10 ` [PATCH 0/5] Clean-up of /bin/sh patching Marius Bakke
  5 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 16:28 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/gawk.scm (gawk)[arguments]: Use /bin/sh instead of /bin/bash in
'set-shell-file-name' phase.
---
 gnu/packages/gawk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index 86f01335a..280e3d3cf 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -47,7 +47,7 @@
                      (let ((bash (assoc-ref inputs "bash")))
                        (substitute* "io.c"
                          (("/bin/sh")
-                          (string-append bash "/bin/bash")))
+                          (string-append bash "/bin/sh")))
 
                        ;; When cross-compiling, remove dependencies on the
                        ;; `check-for-shared-lib-support' target, which tries
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/5] Clean-up of /bin/sh patching
  2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
                   ` (4 preceding siblings ...)
  2017-01-05 16:28 ` [PATCH 5/5] gnu: gawk: Don't replace 'sh' reference with 'bash' Leo Famulari
@ 2017-01-05 17:10 ` Marius Bakke
  2017-01-05 23:12   ` Ludovic Courtès
  5 siblings, 1 reply; 10+ messages in thread
From: Marius Bakke @ 2017-01-05 17:10 UTC (permalink / raw)
  To: Leo Famulari, guix-devel

[-- Attachment #1: Type: text/plain, Size: 631 bytes --]

Leo Famulari <leo@famulari.name> writes:

> This patch series changes all the instances of /bin/sh being patched to
> /bin/bash that I can find.
>
> They are for core-updates.

[...]

> Leo Famulari (5):
>   gnu: m4: Don't replace 'sh' reference with 'bash'.
>   gnu: gnu-make: Don't replace 'sh' reference with 'bash'.
>   gnu: glibc/linux: Don't replace 'sh' reference with 'bash'.
>   gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default
>     shell.
>   gnu: gawk: Don't replace 'sh' reference with 'bash'.

Thanks! I've verified all of these and they LGTM. Good catch on the make
and glibc paths.h substitutions.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/5] gnu: gnu-make: Don't replace 'sh' reference with 'bash'.
  2017-01-05 16:28 ` [PATCH 2/5] gnu: gnu-make: " Leo Famulari
@ 2017-01-05 17:14   ` Marius Bakke
  2017-01-05 17:40     ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Marius Bakke @ 2017-01-05 17:14 UTC (permalink / raw)
  To: Leo Famulari, guix-devel

[-- Attachment #1: Type: text/plain, Size: 867 bytes --]

Leo Famulari <leo@famulari.name> writes:

> * gnu/packages/base.scm (gnu-make)[arguments]: Use /bin/sh instead of /bin/bash
> in 'set-default-shell' phase.
> ---
>  gnu/packages/base.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
> index 66c5e0cdc..1f25a05aa 100644
> --- a/gnu/packages/base.scm
> +++ b/gnu/packages/base.scm
> @@ -364,7 +364,7 @@ functionality beyond that which is outlined in the POSIX standard.")
>              (let ((bash (assoc-ref inputs "bash")))
>                (substitute* "job.c"
>                  (("default_shell =.*$")
> -                 (format #f "default_shell = \"~a/bin/bash\";\n"
> +                 (format #f "default_shell = \"~a/bin/sh\";\n"
>                           bash)))))))))

Could you add a #t at the end of this phase while at it? :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/5] gnu: gnu-make: Don't replace 'sh' reference with 'bash'.
  2017-01-05 17:14   ` Marius Bakke
@ 2017-01-05 17:40     ` Leo Famulari
  0 siblings, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2017-01-05 17:40 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1077 bytes --]

On Thu, Jan 05, 2017 at 06:14:02PM +0100, Marius Bakke wrote:
> Leo Famulari <leo@famulari.name> writes:
> 
> > * gnu/packages/base.scm (gnu-make)[arguments]: Use /bin/sh instead of /bin/bash
> > in 'set-default-shell' phase.
> > ---
> >  gnu/packages/base.scm | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
> > index 66c5e0cdc..1f25a05aa 100644
> > --- a/gnu/packages/base.scm
> > +++ b/gnu/packages/base.scm
> > @@ -364,7 +364,7 @@ functionality beyond that which is outlined in the POSIX standard.")
> >              (let ((bash (assoc-ref inputs "bash")))
> >                (substitute* "job.c"
> >                  (("default_shell =.*$")
> > -                 (format #f "default_shell = \"~a/bin/bash\";\n"
> > +                 (format #f "default_shell = \"~a/bin/sh\";\n"
> >                           bash)))))))))
> 
> Could you add a #t at the end of this phase while at it? :-)

Yes, I'll go through the whole series and make this change where
appropriate :)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/5] Clean-up of /bin/sh patching
  2017-01-05 17:10 ` [PATCH 0/5] Clean-up of /bin/sh patching Marius Bakke
@ 2017-01-05 23:12   ` Ludovic Courtès
  0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2017-01-05 23:12 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

Marius Bakke <mbakke@fastmail.com> skribis:

> Leo Famulari <leo@famulari.name> writes:
>
>> This patch series changes all the instances of /bin/sh being patched to
>> /bin/bash that I can find.
>>
>> They are for core-updates.
>
> [...]
>
>> Leo Famulari (5):
>>   gnu: m4: Don't replace 'sh' reference with 'bash'.
>>   gnu: gnu-make: Don't replace 'sh' reference with 'bash'.
>>   gnu: glibc/linux: Don't replace 'sh' reference with 'bash'.
>>   gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default
>>     shell.
>>   gnu: gawk: Don't replace 'sh' reference with 'bash'.
>
> Thanks! I've verified all of these and they LGTM. Good catch on the make
> and glibc paths.h substitutions.

+1!

Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-01-05 23:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-05 16:28 [PATCH 0/5] Clean-up of /bin/sh patching Leo Famulari
2017-01-05 16:28 ` [PATCH 1/5] gnu: m4: Don't replace 'sh' reference with 'bash' Leo Famulari
2017-01-05 16:28 ` [PATCH 2/5] gnu: gnu-make: " Leo Famulari
2017-01-05 17:14   ` Marius Bakke
2017-01-05 17:40     ` Leo Famulari
2017-01-05 16:28 ` [PATCH 3/5] gnu: glibc/linux: " Leo Famulari
2017-01-05 16:28 ` [PATCH 4/5] gnu: glibc/linux: Use /bin/sh instead of /bin/bash as the default shell Leo Famulari
2017-01-05 16:28 ` [PATCH 5/5] gnu: gawk: Don't replace 'sh' reference with 'bash' Leo Famulari
2017-01-05 17:10 ` [PATCH 0/5] Clean-up of /bin/sh patching Marius Bakke
2017-01-05 23:12   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).