Subject: bug#25258: closed (Re: bug#25258: Bashisms when building 0.11.0)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 22 Mar 2020 20:29:02 +0000

Your bug report

#25258: Bashisms when building 0.11.0

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25258: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25258
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25258: Bashisms when building 0.11.0
From: Leo Famulari <[email-masked]>
To: "pelzflorian (Florian Pelz)" <[email-masked]>
Cc: [email-masked]
Date: Sun, 22 Mar 2020 16:28:32 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Tue, Feb 12, 2019 at 08:46:30PM -0500, Leo Famulari wrote:
> About two years have passed on this bug report without comment. Is it a
> "wontfix"?

Based on the lack of interest I've closed this bug.

Subject: Bashisms when building 0.11.0
From: "pelzflorian (Florian Pelz)" <[email-masked]>
To: [email-masked]
Date: Sat, 24 Dec 2016 08:26:27 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Guix' testsuite uses the non-POSIX bashism `type -P guile` in
tests/guix-packages.sh which causes a test failure when using
Dash to provide /bin/sh instead of Bash. Additionally gnu/local.mk uses
brace expansion which is not part of POSIX and does not work on Dash.

When building Guix on Parabola GNU/Linux-libre modified to use Dash as
/bin/sh,[1] this causes the Guix build to fail. For building, the guix
0.11.0 package from AUR[2] was used. The attached “patch” allows for a
successful build but is not what we want.

Guix should probably not use bashisms in its Makefile includes and
either not use bashisms in its test suite or make sure the test suite is
executed explicitly with Bash and not /bin/sh.

Regards,
Florian Pelz

[1] https://wiki.archlinux.org/index.php/Dash#Use_DASH_as_.2Fbin.2Fsh
[2] https://aur.archlinux.org/packages/guix/

diff -aur guix-0.11.0.pristine/gnu/local.mk guix-0.11.0.new/gnu/local.mk
--- guix-0.11.0.pristine/gnu/local.mk	2016-12-23 16:24:51.501094452 +0100
+++ guix-0.11.0.new/gnu/local.mk	2016-12-23 17:26:55.651112436 +0100
@@ -903,7 +903,10 @@
 # Those files must remain executable, so they remain executable once
 # imported into the store.
 set-bootstrap-executable-permissions:
-	chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
+	chmod +x $(DESTDIR)$(bootstrapdir)/*/bash
+	chmod +x $(DESTDIR)$(bootstrapdir)/*/mkdir
+	chmod +x $(DESTDIR)$(bootstrapdir)/*/tar
+	chmod +x $(DESTDIR)$(bootstrapdir)/*/xz
 
 DISTCLEANFILES =				\
   $(nodist_bootstrap_x86_64_linux_DATA)		\
diff -aur guix-0.11.0.pristine/Makefile.am guix-0.11.0.new/Makefile.am
--- guix-0.11.0.pristine/Makefile.am	2016-12-23 16:24:49.007702057 +0100
+++ guix-0.11.0.new/Makefile.am	2016-12-23 16:25:39.372217348 +0100
@@ -275,7 +275,6 @@
   tests/guix-download.sh			\
   tests/guix-gc.sh				\
   tests/guix-hash.sh				\
-  tests/guix-package.sh				\
   tests/guix-package-net.sh			\
   tests/guix-system.sh				\
   tests/guix-archive.sh				\