diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2018-11-26 14:33:18 +0000 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2018-11-26 14:33:18 +0000 |
commit | 00b4893b2829ddb0e9050ae7de6af7cb4d4d8304 (patch) | |
tree | 69d90d954920eca1cb44cfbab3d14131d47eb967 | |
parent | 22ac6cccba99109f23f5571f70ec660f6f37c76f (diff) |
sh executable now available in PATH
While working on a research project using this pipeline, I noticed that we
don't have any `sh' executable within our PATH. However, some programs
(including Gnuastro's configure script, when it is checking for shells to
use with Libtool) check and use it. So after building Bash, we also build
an `sh' symbolic link to point to the built Bash executable.
-rw-r--r-- | reproduce/config/pipeline/dependency-versions.mk | 2 | ||||
-rw-r--r-- | reproduce/src/make/dependencies-basic.mk | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk index dc45b81..e5b4bbb 100644 --- a/reproduce/config/pipeline/dependency-versions.mk +++ b/reproduce/config/pipeline/dependency-versions.mk @@ -9,7 +9,7 @@ flock-version = 0.2.3 gawk-version = 4.2.1 ghostscript-version = 9.26 git-version = 2.19.1 -gnuastro-version = 0.7.63-39ab +gnuastro-version = 0.7.65-ff7a grep-version = 3.1 gzip-version = 1.9.10-051e libtool-version = 2.4.6 diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk index 2102338..17bd73f 100644 --- a/reproduce/src/make/dependencies-basic.mk +++ b/reproduce/src/make/dependencies-basic.mk @@ -214,12 +214,27 @@ $(ibdir)/which: $(tdir)/which-$(which-version).tar.gz \ # GNU Bash $(ibdir)/bash: $(tdir)/bash-$(bash-version).tar.gz \ $(ibdir)/make + + # Delete any possibly existing output + if [ -f $@ ]; then rm $@; fi; + + # Build Bash. ifeq ($(static_build),yes) $(call gbuild, $<, bash-$(bash-version), , --enable-static-link) else $(call gbuild, $<, bash-$(bash-version)) endif + # To be generic, some systems use the `sh' command to call the + # shell. By convention, `sh' is just a symbolic link to the + # preferred shell executable. So we'll define `$(ibdir)/sh' as a + # symbolic link to the Bash that we just built and installed. + # + # Just to be sure that the installation step above went well, + # before making the link, we'll see if the file actually exists + # there. + if [ -f $@ ]; then ln -s $@ $(ibdir)/sh; fi + |