aboutsummaryrefslogtreecommitdiff
path: root/reproduce/analysis/config
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2022-06-11 00:43:31 +0200
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2022-06-11 01:06:37 +0200
commitc148beb5eb4553711f6c75e23b94d976c40212a7 (patch)
tree9b622dabcae69a819c0bd4823ef910e84adfcc3b /reproduce/analysis/config
parent502abf6870882f31b312c42773cd11779a8c72fc (diff)
IMPORTANT: download.mk removed, content moved to initialize.mk
SUMMARY: no special action should be necessary; but its an important update in low-level Maneage infra-structure (related with downloading and setting input checksums). Until now, we had a separate 'download.mk' as one of the default sub-Makefiles that should have been loaded in all the 'top-*.mk' files after 'initialize.mk'. This was due to historic reasons: until Commit 91799fe4b6d, we had to manually make some changes in 'download.mk' for every input file we defined in 'INPUTS.mk' (which was very inconvenient, and not easily possible for a large number of files!). But since Commit 91799fe4b6d, those manual changes are no longer necessary, and a normal user will hardly ever need to touch the contents of 'download.mk' (which also had one effective rule). Furthermore, based on shared projects with Zohre Ghaffari and Sepideh Eskandarlou (which involved a large number of large files), we recognized that it is very inconvenient to download a file once, update its checksum, and re-run Maneage (so the validation works). A robust solution was necesary to let project authors download the data and automatically update the checksum. With this commit, to help in high-level project management in Maneage, the single, and generic rule of 'download.mk' has been moved to 'initialize.mk', enabling us to fully remove this extra sub-Makefile from Maneage's source. Furthermore, with this commit, a usable solution to the automatic updating of the checksum has also been implemented (which has been described in the comments of 'INPUTS.conf'): the users can now set the checksum to '--auto-replace--'. In this case, the download rule (now in 'initialize.mk') will automatically update that line of 'INPUTS.conf' and add the checksum instead. After './project make' is complete, when the user runs 'git diff', they can see all the updated checksums in the source of their project and commit the updated 'INPUTS.conf' into the source so this will not be necessary later. Two other smaller issues have also been addressed in this commit: - There was an extra ',' in the call to 'filter-out' when we defined 'prepare-dep' in 'reproduce/analysis/make/prepare.mk'. This would cause a crash (with Make complaining that there is no rule for target 'initialize.mk,': notice the extra ','). With this commit, that extra ',' has been removed and the problem was solved. - The build recipe of Imfit (in 'reproduce/software/make/high-level.mk'), had two SPACE characters after '--no-openmp' which would make the reading hard. They have been updated to one SPACE.
Diffstat (limited to 'reproduce/analysis/config')
-rw-r--r--reproduce/analysis/config/INPUTS.conf12
1 files changed, 12 insertions, 0 deletions
diff --git a/reproduce/analysis/config/INPUTS.conf b/reproduce/analysis/config/INPUTS.conf
index 3958153..75e24de 100644
--- a/reproduce/analysis/config/INPUTS.conf
+++ b/reproduce/analysis/config/INPUTS.conf
@@ -46,6 +46,18 @@
# the URL). There are more robust checksum algorithms
# like the 'SHA' standards.
#
+# AUTOMATIC CHEKSUM CALCULATION: In case you would like
+# Maneage to find the checksum upon downloading, put the
+# string '--auto-replace--' instead of a checksum. This
+# can be helpful for large datasets; where downloading
+# only for adding the checksum is not easy/possible and
+# can be buggy. In this scenario, upon downloading the
+# file its checksum will be calculated and will be
+# replaced with the '--auto-replace--' in this file. But
+# since this file is under version control, be sure to
+# commit all the updated checksums after your downloads
+# are finished!
+#
# INPUT-%-url: The URL to download the file if it is not available
# locally. It can happen that during the first phases of
# your project the data aren't yet public. In this case, you