reproduce-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #60376] metastore is not installed by default


From: Boud Roukema
Subject: [bug #60376] metastore is not installed by default
Date: Sun, 11 Apr 2021 17:17:34 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

URL:
  <https://savannah.nongnu.org/bugs/?60376>

                 Summary: metastore is not installed by default
                 Project: Reproducible paper template
            Submitted by: boud
            Submitted on: Sun 11 Apr 2021 09:17:33 PM UTC
                Category: None
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

BUG: In commit 20b6273 of maneage (and many earlier versions), the claim in
README-hacking.md that _metastore_ hooks are automatically installed in
_.git/hooks/_ appears to be incorrect from practical experience (in several
different maneage installs), and the code in _basic.mk_ appears to explain
this.

DETAILS:
In commit 20b6273, _reproduce/software/make/basic.mk_ has

  1094          current_dir=$$(pwd); \
  1095          $(call gbuild, metastore-$(metastore-version), static,, \
  ...
  1105          if [ -f $(ibdir)/metastore ]; then
  1106            if [ -d .git ]; then
  1107              user=$$(whoami)
  1108              group=$$(groups | awk '{print $$1}')
  1109              cd $$current_dir
  1110              for f in pre-commit post-checkout; do
  1111                 sed -e's|@USER[@]|'$$user'|g' \
  1112                     -e's|@GROUP[@]|'$$group'|g' \
  1113                     -e's|@BINDIR[@]|$(ibdir)|g' \
  1114                     -e's|@TOP_PROJECT_DIR[@]|'$$current_dir'|g' \
  1115                     reproduce/software/shell/git-$$f > .git/hooks/$$f
  1116                 chmod +x .git/hooks/$$f
  1117              done
  1118            fi
  1119            echo "Metastore (forked) $(metastore-version)" > $@


Since  _basic.mk_ is run from the top directory, _current_dir_ , and since
_gbuild_ changes to a temporary build directory, it seems likely that at line
1106, the shell is in the temporary build directory, not in .git/ .

This would cause a failure to install the two hooks, but no warning message is
provided to the user.

SUGGESTED FIX (not tested):

Either shift _cd $$current_dir_ upwards, to be located between lines 1105 and
1106, or modify _README-hacking.md_ to state that installation of metastore
hooks is opt-in, not opt-out.

COMMENT:
See the related discussion at https://savannah.nongnu.org/task/index.php?15942
about a replacement for metastore. Users of metastore who find that it has
problems might consider the opt-in installation of the hooks to be a feature
instead of a bug.





    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?60376>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]