aboutsummaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2019-09-28 21:46:18 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2019-09-28 21:53:16 +0100
commit621289494d23d3ac0b383d63371205cb826ccb8c (patch)
tree5deb7104d4d09425b489375222582af37286ee62 /project
parente22df1a2832702165f6b411a182c5bad8dc8c9fe (diff)
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.
Diffstat (limited to 'project')
-rwxr-xr-xproject20
1 files changed, 20 insertions, 0 deletions
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).