From 54201e3c0216656b5b933fa2e5c36b9afcb1dc4f Mon Sep 17 00:00:00 2001 From: Todd Gamblin <tgamblin@llnl.gov> Date: Fri, 18 May 2018 14:41:03 -0700 Subject: locks: add configuration and command-line options to enable/disable locks (#7692) - spack.util.lock behaves the same as llnl.util.lock, but Lock._lock and Lock._unlock do nothing. - can be disabled with a control variable. - configuration options can enable/disable locking: - `locks` option in spack configuration controls whether Spack will use filesystem locks or not. - `-l` and `-L` command-line options can force-disable or force-enable locking. - Spack will check for group- and world-writability before disabling locks, and it will not allow a group- or world-writable instance to have locks disabled. - update documentation --- etc/spack/defaults/config.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'etc') diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml index b5e517c98d..ef9d288173 100644 --- a/etc/spack/defaults/config.yaml +++ b/etc/spack/defaults/config.yaml @@ -18,13 +18,16 @@ config: # You can use $spack here to refer to the root of the spack instance. install_tree: $spack/opt/spack + # Locations where templates should be found template_dirs: - $spack/templates + # default directory layout directory_layout: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}" + # Locations where different types of modules should be installed. module_roots: tcl: $spack/share/spack/modules @@ -74,6 +77,15 @@ config: dirty: false + # When set to true, concurrent instances of Spack will use locks to + # avoid modifying the install tree, database file, etc. If false, Spack + # will disable all locking, but you must NOT run concurrent instances + # of Spack. For filesystems that don't support locking, you should set + # this to false and run one Spack at a time, but otherwise we recommend + # enabling locks. + locks: true + + # The default number of jobs to use when running `make` in parallel. # If set to 4, for example, `spack install` will run `make -j4`. # If not set, all available cores are used by default. -- cgit v1.2.3-70-g09d2