aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/config/pipeline/dependency-versions.mk2
-rw-r--r--reproduce/src/bash/git-post-checkout2
-rw-r--r--reproduce/src/bash/git-pre-commit4
-rw-r--r--[-rwxr-xr-x]reproduce/src/make/dependencies-basic.mk0
-rw-r--r--reproduce/src/make/dependencies.mk46
5 files changed, 37 insertions, 17 deletions
diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk
index 14a9635..e86a0fe 100644
--- a/reproduce/config/pipeline/dependency-versions.mk
+++ b/reproduce/config/pipeline/dependency-versions.mk
@@ -22,7 +22,7 @@ libtool-version = 2.4.6
libbsd-version = 0.9.1
lzip-version = 1.20
make-version = 4.2.90
-metastore-version = 1.1.2
+metastore-version = v1.1.2-17-g6c56e14
mpfr-version = 4.0.1
mpc-version = 1.1.0
ncurses-version = 6.1
diff --git a/reproduce/src/bash/git-post-checkout b/reproduce/src/bash/git-post-checkout
index 4ec2fa6..4c69b2d 100644
--- a/reproduce/src/bash/git-post-checkout
+++ b/reproduce/src/bash/git-post-checkout
@@ -25,6 +25,6 @@ if [ ! -e "$MSFILE" ]; then
fi
exit_on_fail \
- @BINDIR@/metastore -a -m -e -E -q -f "$MSFILE"
+ @BINDIR@/metastore -a -m -e -E -q -O @USER@ -G @GROUP@ -f "$MSFILE"
exit 0
diff --git a/reproduce/src/bash/git-pre-commit b/reproduce/src/bash/git-pre-commit
index 295c033..4373898 100644
--- a/reproduce/src/bash/git-pre-commit
+++ b/reproduce/src/bash/git-pre-commit
@@ -31,12 +31,12 @@ exit_on_fail() {
}
exit_on_fail \
- @BINDIR@/metastore -s -f "$MSFILE"
+ @BINDIR@/metastore -O @USER@ -G @GROUP@ -s -f "$MSFILE"
# If it's first metastore commit, store again to include $MSFILE in $MSFILE.
if ! git-ls-tree --name-only HEAD 2>/dev/null | grep -Fqx "$MSFILE"; then
exit_on_fail \
- @BINDIR@/metastore -s -f "$MSFILE"
+ @BINDIR@/metastore -O @USER@ -G @GROUP@ -s -f "$MSFILE"
fi
if [ ! -e "$MSFILE" ]; then
diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index eb6bcce..eb6bcce 100755..100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index 128e4e5..9f3436d 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -138,7 +138,7 @@ $(tarballs): $(tdir)/%:
elif [ $$n = libgit ]; then
mergenames=0
w=https://github.com/libgit2/libgit2/archive/v$(libgit2-version).tar.gz
- elif [ $$n = metastore ]; then w=http://ftp.przemoc.net/pub/software/utils/metastore
+ elif [ $$n = metastore ]; then w=http://akhlaghi.org/src
elif [ $$n = tiff ]; then w=https://download.osgeo.org/libtiff
elif [ $$n = wcslib ]; then w=ftp://ftp.atnf.csiro.au/pub/software/wcslib
else
@@ -359,26 +359,46 @@ $(ibdir)/git: $(tdir)/git-$(git-version).tar.xz \
$(ibdir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \
$(ilidir)/libbsd \
$(ibdir)/git
+
+ # The build command below will change the current directory of this
+ # build, so we'll fix its value here.
+ current_dir=$$(pwd)
+
# Metastore doesn't have any `./configure' script. So we'll just
# call `pwd' as a place-holder for the `./configure' command.
- current_dir=$$(pwd)
- $(call gbuild, $<, metastore-$(metastore-version), static,,V=1,, \
- pwd, PREFIX=$(idir))
+ #
+ # File attributes are also not available on some systems, since the
+ # main purpose here is modification dates (and not attributes),
+ # we'll also set the `NO_XATTR' flag.
+ $(call gbuild, $<, metastore-$(metastore-version), static,, \
+ NO_XATTR=1 V=1,,pwd,PREFIX=$(idir))
# Write the relevant hooks into this system's Git hooks, so Git
# calls metastore properly on every commit and every checkout.
+ #
+ # Note that the -O and -G options used here are currently only in a
+ # fork of `metastore' currently hosted at:
+ # https://github.com/mohammad-akhlaghi/metastore
+ user=$$(whoami)
+ group=$$(groups $$user | awk '{print $$1}')
cd $$current_dir
if [ -f $@ ]; then
- rm -f .git/hooks/pre-commit .git/hooks/post-checkout
- sed -e's|@BINDIR[@]|$(ibdir)|g' \
- reproduce/src/bash/git-pre-commit > .git/hooks/pre-commit
- sed -e's|@BINDIR[@]|$(ibdir)|g' \
- reproduce/src/bash/git-post-checkout > .git/hooks/post-checkout
- chmod +x .git/hooks/pre-commit .git/hooks/post-checkout
+ for f in pre-commit post-checkout; do
+ sed -e's|@USER[@]|'$$user'|g' \
+ -e's|@GROUP[@]|'$$group'|g' \
+ -e's|@BINDIR[@]|$(ibdir)|g' \
+ reproduce/src/bash/git-$$f > .git/hooks/$$f
+ chmod +x .git/hooks/$$f
+ done
else
- echo; echo; echo "Metastore couldn't be built on this system!"
- echo "Please contact mohammad@akhlaghi.org to try fixing the problem."
- echo; echo "But this is not a vital element of the pipeline. You "
+ echo; echo; echo;
+ echo "*****************"
+ echo "metastore couldn't be installed!"
+ echo
+ echo "Its used for preserving timestamps on Git commits."
+ echo "Its useful for development, not simple running of the pipeline."
+ echo "So we won't stop the pipeline because it wasn't built."
+ echo "*****************"
fi
# The order of dependencies is based on how long they take to build (how