aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-26 14:33:18 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-26 14:33:18 +0000
commit00b4893b2829ddb0e9050ae7de6af7cb4d4d8304 (patch)
tree69d90d954920eca1cb44cfbab3d14131d47eb967
parent22ac6cccba99109f23f5571f70ec660f6f37c76f (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.mk2
-rw-r--r--reproduce/src/make/dependencies-basic.mk15
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
+