From 95058143cdb188cec36a9d6d0294a1610bc6164a Mon Sep 17 00:00:00 2001 From: Boud Roukema Date: Thu, 11 Jun 2020 15:38:29 +0200 Subject: Text surrounding software acknowledgements as a configuration file Until now, the English texts that embeds the list of software to acknowledge in the paper was hard-wired into the low-level coding ('reproduce/software/shell/configure.sh' to be more specific). But this file is very low-level, thus discouraging users to modify this surrounding text. While the list of software packages can be considered to be 'data' and is fixed, the surrounding text to describe the lists is something the authors should decide on. Authors of a scientific research paper take responsibility for the full paper, including for the style of the acknowledgments, even if these may well evolve into some standard text. With this commit, authors who do *not* modify 'reproduce/software/config/acknowledge_software.sh' will have a default text, with only a minor English correction from earlier versions of Maneage. However, Authors choosing to use their own wording should be able to modify the text parameters in `reproduce/software/config/acknowledge_software.sh` in the obvious way. This is much more modular than asking project authors to go looking into the long and technical 'configure.sh' script. Systematic issues: the file `reproduce/software/config/acknowledge_software.sh` is an executable shell script, because it has to be called by `reproduce/software/shell/configure.sh`, which, in principle, does not yet have access to `GNU make` (if I understand the bootstrap sequence correctly). It is placed in `config/` rather than `shell/`, because the user will expect to find configuration files in `config/`, not in `shell/`. A possible alternative to avoid having a shell script as a configure file would be to let `reproduce/software/config/acknowledge_software.sh` appear to be a `make` file, but analyse it in `configure.sh` using `sed` to remove whitespace around `=`, and adding other hacks to switch from `make` syntax to `shell` syntax. However, this risks misleading the user, who will not know whether s/he should follow `make` conventions or `shell` conventions. --- project | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'project') diff --git a/project b/project index cc2140f..728d488 100755 --- a/project +++ b/project @@ -324,11 +324,12 @@ case $operation in # user to have to worry about any other file that needs an # executable flag. # - # Basically, all the files (shell scripts) in the two - # `reproduce/*/bash' should need executable flags, so we are giving - # them executable flags by default. If any other file in your project - # needs such flags, add them here. - chmod +x reproduce/software/shell/* reproduce/analysis/bash/* + # Basically, all the project shell scripts need executable flags so + # to make sure they have them, we are activating the executable + # flags by default here every time './project configure' is run. If + # any other file in your project needs such flags, add them here. + chmod +x reproduce/software/shell/* reproduce/software/config/*.sh \ + reproduce/analysis/bash/* # If the user requested, clean the TeX directory from the extra # (to-be-built) directories that may already be there (and will not -- cgit v1.2.1