diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-06-13 15:09:23 +0100 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-06-13 15:15:20 +0100 |
commit | 3a68aa3b9830bb9dfbf079807c9ee18a7aaa85f1 (patch) | |
tree | 6976feb25d6ef61b781c8f23bfddf8f82061ab43 /reproduce/software/make | |
parent | d657bbd65e3945d4100afb4715345846fc7430a6 (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).
Diffstat (limited to 'reproduce/software/make')
-rw-r--r-- | reproduce/software/make/basic.mk | 26 |
1 files changed, 16 insertions, 10 deletions
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; \ |