aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2019-06-13 15:09:23 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2019-06-13 15:15:20 +0100
commit3a68aa3b9830bb9dfbf079807c9ee18a7aaa85f1 (patch)
tree6976feb25d6ef61b781c8f23bfddf8f82061ab43
parentd657bbd65e3945d4100afb4715345846fc7430a6 (diff)
Metastore now has rpath
Until now we hadn't noticed that Metastore's build doesn't include an `rpath'. As a result I got a crash during a Git commit. With this commit, on GNU/Linux systems, we now add rpath to the installed Metastore executable. During the build, I also cleaned up the Metastore build recipe to be more clear and readable (in particular we only check the user name and group name when metastore is actually built).
-rw-r--r--.file-metadatabin6079 -> 6079 bytes
-rw-r--r--reproduce/software/make/basic.mk26
2 files changed, 16 insertions, 10 deletions
diff --git a/.file-metadata b/.file-metadata
index abe932a..08c9203 100644
--- a/.file-metadata
+++ b/.file-metadata
Binary files differ
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk
index 468563b..4620e6e 100644
--- a/reproduce/software/make/basic.mk
+++ b/reproduce/software/make/basic.mk
@@ -914,21 +914,27 @@ $(ibidir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \
# Note that the metastore -O and -G options used in this template
# are currently only available in a fork of `metastore' hosted at:
# https://github.com/mohammad-akhlaghi/metastore
+ #
+ # We want to inform the user if Metastore isn't built, so we don't
+ # continue the call to `gbuild' with an `&&'.
current_dir=$$(pwd); \
$(call gbuild, $<, metastore-$(metastore-version), static,, \
NO_XATTR=1 V=1,,pwd,PREFIX=$(idir)); \
- user=$$(whoami); \
- group=$$(groups | awk '{print $$1}'); \
- cd $$current_dir; \
if [ -f $(ibdir)/metastore ]; then \
+ if [ "x$(needpatchelf)" != x ]; then \
+ $(ibdir)/patchelf --set-rpath $(ildir) $(ibdir)/metastore; \
+ fi; \
+ user=$$(whoami); \
+ group=$$(groups | awk '{print $$1}'); \
+ cd $$current_dir; \
for f in pre-commit post-checkout; do \
- sed -e's|@USER[@]|'$$user'|g' \
- -e's|@GROUP[@]|'$$group'|g' \
- -e's|@BINDIR[@]|$(ibdir)|g' \
- -e's|@TOP_PROJECT_DIR[@]|'$$current_dir'|g' \
- reproduce/software/bash/git-$$f > .git/hooks/$$f \
- && chmod +x .git/hooks/$$f \
- && echo "Metastore (forked) $(metastore-version)" > $@; \
+ sed -e's|@USER[@]|'$$user'|g' \
+ -e's|@GROUP[@]|'$$group'|g' \
+ -e's|@BINDIR[@]|$(ibdir)|g' \
+ -e's|@TOP_PROJECT_DIR[@]|'$$current_dir'|g' \
+ reproduce/software/bash/git-$$f > .git/hooks/$$f \
+ && chmod +x .git/hooks/$$f \
+ && echo "Metastore (forked) $(metastore-version)" > $@; \
done; \
else \
echo; echo; echo; \