aboutsummaryrefslogtreecommitdiff
path: root/for-group
AgeCommit message (Collapse)AuthorLines
2019-04-08for-group: Options passed to configure or makeMohammad Akhlaghi-10/+17
Until now, the `for-group' script could only two options to Make and didn't pass anything to `./configure'. With this commit, any thing given after the first two tokens to `for-group' is passed directly to `./configure' or Make. Also, the test for the existance of the group has been modified to avoid making a temporary file.
2019-03-11for-group gives write permission to all built software in the endMohammad Akhlaghi-0/+16
Since the `install' script also sets permissions manually, the permissions that we define in `for-group' don't usually affect the installed files. Therefore the installed files of one user can't be modified/deleted by another. With this commit, after for-group finishes configuration, it also adds the write flag for all group members in the whole installation directory.
2019-03-08For-group script can allow to arguments to Make callMohammad Akhlaghi-1/+1
Until now the `./for-group' script would only add one argument to the Make call, but in some situations, you need a second argument is well. With this option, any possible fourth argument to `./for-group' is passed to Make.
2019-02-05for-group: better check of group name and fixed make argumentMohammad Akhlaghi-5/+9
A few issues came up while testing the `for-group' script in one of the projects based on this pipeline that are being fixed with this commit: 1) We are ultimately using the `sg' command to use the specified group, not `chgrp'. So in cases where `chgrp' has problems, this would cause a wrong error. So for the test of the given group's existance, we are now directly calling `sg'. 2) In the call to `make' we were mistakenly giving make the `$2' (which is `make' on the command-line) argument. Since `./for-group' now takes the group name as its first argument, this should have been `$3'. 3) To help in readability, and also allow for group names with a space, `reproducible_paper_group_name' is now defined and exported before the final call to `sg'.
2019-02-01Group name is now part of the local configurationMohammad Akhlaghi-17/+28
Until now, the group name to build the project actually went into the Git source of the project! This doesn't allow exact reproducibility on different machines (where the group name may be different). With this commit, the `for-group' script has been modified to accept the group name as its first argument and pass that onto `configure' and Make. This is much better now, because not only the existance of a group installation is checked, but also the name of the group. It also made things simpler (in particular in `LOCAL.mk.in').
2019-01-18Sanity check to run the Make with proper group permissionsMohammad Akhlaghi-3/+13
If the `./for-group' script is not used properly, it can lead to the whole pipeline being re-run. Therefore it is important to do a sanity check immediately at the start of Make's processing and inform the user if there is a problem. With this commit, `./for-group' exports the `reproducible_paper_for_group' variable which is used by both the initial `./configure' script, and later in each call to Make. The `./configure' script will use it to write a value in `reproduce/config/pipeline/LOCAL.mk' and Make will use it to compare with the value in `reproduce/config/pipeline/LOCAL.mk'. If there is an inconsistency, Make will not even attempt to build anything and will just print a message and abort.
2019-01-10Minor typo correction in comment of for-group scriptMohammad Akhlaghi-3/+2
A minor typo was fixed to help in readability.
2019-01-10cURL added as a dependency of GitMohammad Akhlaghi-0/+1
Git needs cURL in its build. Until now, by chance cURL was always built before Git, but while building this pipeline on a system, Git was built before cURL and we found the problem. I also noticed that we hadn't added `Your name <your@email.address>' to the `for-group' script. This has been corrected now.
2019-01-10Wrapper script to allow groups working in the build directoryMohammad Akhlaghi-0/+69
On large projects, its often necessary to share the build directory between the various users of the pipeline. To simplify the process a `for-group' script is now added to the pipeline which is just a wrapper over the `./configure' and `.local/bin/make' commands to make sure that the group owner of the outputs and the permission flags are set properly.