From 621289494d23d3ac0b383d63371205cb826ccb8c Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Sat, 28 Sep 2019 21:46:18 +0100 Subject: Main project script sets executable flags at configure time Until now, when the project's source was downloaded from something like arXiv, in `README.md', we were instructing them to set the executable flags of all the files that need it. But except for `./project', the reader shouldn't have to worry about the project internals! Once its executable, `./project' can easily fix the executable flags of all the files that need it automatically. With this commit, in `README.md', we just instruct the reader to set the executable flag of `./project' and any other file that needs an executable flag is given one at the start of the set of commands for `./project configure'. In customized projects, if an author needs executable flags on any other files, they can easily add it there without involving the user. --- project | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'project') diff --git a/project b/project index 383ecb1..14fc272 100755 --- a/project +++ b/project @@ -21,6 +21,10 @@ # Stop the script if there are any errors. set -e + + + + # Default option values jobs=0 # 0 is for the default for the `configure.sh' script. group= @@ -223,6 +227,22 @@ case $operation in # Build the project's software. configure) + # Set executable flags + # -------------------- + # + # In some scenarios (for example when using a tarball from arXiv), + # it may happen that the host server has removed the executable + # flags of all the files. In `README.md' we instruct the readers on + # setting the executable flag of this script. But we don't want the + # 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/bash/* 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 # allow the configuration to complete). -- cgit v1.2.1