diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2022-06-11 00:43:31 +0200 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2022-06-11 01:06:37 +0200 |
commit | c148beb5eb4553711f6c75e23b94d976c40212a7 (patch) | |
tree | 9b622dabcae69a819c0bd4823ef910e84adfcc3b /README-hacking.md | |
parent | 502abf6870882f31b312c42773cd11779a8c72fc (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 'README-hacking.md')
-rw-r--r-- | README-hacking.md | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/README-hacking.md b/README-hacking.md index 030082b..bd1d988 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -679,22 +679,13 @@ First custom commit - `reproduce/analysis/make/top-make.mk`: Delete the `delete-me` line in the `makesrc` definition. Just make sure there is no empty line - between the `download \` and `verify \` lines (they should be + between the `initialize \` and `verify \` lines (they should be directly under each other). - - `reproduce/analysis/make/verify.mk`: In the final recipe, under the - commented line `Verify TeX macros`, remove the full line that - contains `delete-me`, and set the value of `s` in the line for - `download` to `XXXXX` (any temporary string, you'll fix it in the - end of your project, when its complete). - - - Delete all `delete-me*` files in the following directories: - - ```shell - $ rm tex/src/delete-me* - $ rm reproduce/analysis/make/delete-me* - $ rm reproduce/analysis/config/delete-me* - ``` + - `reproduce/analysis/make/initialize.mk`: in the very end of this + file, you will see a set of lines between `delete the lines below + this` and `delete the lines above this`. Delete this whole group of + lines (including the two instruction lines). - `reproduce/analysis/config/verify-outputs.conf`: Disable verification of outputs by changing the `yes` (the value of @@ -705,6 +696,14 @@ First custom commit takes a few minutes when your project is finished. So DON'T FORGET to activate it in the end. + - Delete all `delete-me*` files in the following directories: + + ```shell + $ rm tex/src/delete-me* + $ rm reproduce/analysis/make/delete-me* + $ rm reproduce/analysis/config/delete-me* + ``` + - Re-make the project (after a cleaning) to see if you haven't introduced any errors. |