summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-11-11bugfix: make defaults consistent --use-cache and --no-cache (#9803)Todd Gamblin1-3/+3
2018-11-11Update buildsystem tut (#9795)Mario Melara2-45/+54
* Update Makefile to use property methods ("build_targets"/"install_targets") to demonstrate their usage * Fix highlighting * Change cbench example to ESMF: CBench package file was changed and no longer uses the example shown in the old docs
2018-11-11Updates to Configuration Files docs for SC18 (#9801)Adam J. Stewart2-139/+138
Scopes added with -C are now referred to as "custom scopes" rather than "command line scopes". "command line scope" now refers to specific config options that are set on the command line (like "--insecure")
2018-11-09install: add --use-cache back so that existing tooling does not break (#9797)Todd Gamblin1-2/+8
- default is still to use the cache, but we've added back the `--use-cache` argument so that scripts that used it are still correct. - `--no-cache` is stil present and is mutually exclusive with `--use-cache`
2018-11-09Update Dyninst package file for TBB dependency (#9728)Jim Galarowicz5-7/+12
* Update Dyninst package file for TBB dependency Dyninst master and 10.0 release versions require the tbb package. This mod updates the tbb versions adding the one that dyninst uses and adds the required spack package changes to dyninst/package.py. * Put new version of tbb in proper location, per reviewer comment. * Only depend on tbb if building the development version. * Changes for the release of Dyninst 10.0.0
2018-11-09travis: allow Python 2.6 to fail until we figure out why Travis hangs (#9776)Todd Gamblin1-0/+2
2018-11-09Introduce fftw-api virtual package for Intel-MKL and FFTW (#9618)Nichols A. Romero4-2/+10
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages. * make fftw default package for fftw-api virtual package * virtual package test assertion now provides location of default virtual packages. * Change name of virtual package to fftw-api and used versioned interface.
2018-11-09buildcache: update `spack install` to use build cache by default (#9772)Greg Becker4-7/+11
2018-11-09env: clean up command access to the active environmentTodd Gamblin5-40/+51
- all commands (except `spack find`, through `ConstraintAction`) now go through get_env() to get the active environment - ev.active was hard to read -- and the name wasn't descriptive. - rename it to _active_environment to be more descriptive and to strongly indicate that spack.environment manages it
2018-11-09env: only add `concrete` attribute to abstract specsTodd Gamblin1-3/+4
- to aovid changing spec hashes drastically, only add this attribute to differentiated abstract specs. - othherwise assume that read-in specs are concrete
2018-11-09env: make environment search more consistent; simplify codeTodd Gamblin4-105/+105
- spack.yaml files in the current directory were picked up inconsistently -- make this a sure thing by moving that logic into find_environment() and moving find_environment() to main() - simplify arguments to Spack command: - remove short args for infrequently used commands (--pdb/-D, -P, -s) - `spack -D` now forces an env with a directory
2018-11-09externals: bugfix in ruamel for ordereddict in Python 2.6Todd Gamblin1-2/+2
- args weren't being delegated properly from CommentedMap to OrderedDict
2018-11-09env: rename EnvError to SpackEnvironmentErrorTodd Gamblin2-13/+10
2018-11-09bugfix: preserve patch ordering when specs are copiedTodd Gamblin1-0/+9
- The `Spec` class maintains a special `_patches_in_order_of_appearance` attribute on patch variants, but it is was preserved when specs are copied. - This caused issues for some builds - Add special logic to `Spec` to preserve this variant on copy - TODO: in the long term we should get rid of the special variant and make it the responsibility of one of the variant classes.
2018-11-09fix bad regular expressions and docstrings with '\'Todd Gamblin2-4/+4
2018-11-09commands: rework command categories and argumentsTodd Gamblin14-22/+27
- split 'environment' section into 'environments' and 'modules' - move location to 'query packages' section - move cd to developer section - --env-dir no longer has a short optino (was -E) - -E now means "run without an environment" (no longer same as --env-dir) - -D now means "run with this directory environment" - remove short options for may infrequently used top-level commands
2018-11-09env: consolidate most of `spack env status` into `spack find`Todd Gamblin7-148/+259
- `spack env status` used to show install status; consolidate that into `spack find`. - `spack env status` will still print out whether there is an active environment
2018-11-09env: move `env uninstall` into `spack uninstall`Todd Gamblin6-72/+191
- uninstall now: - restricts its spec search to the current environment - removes uninstalled specs from the current environment - reports envs that still need specs you're trying to uninstall - removed spack env uninstall command - updated tests
2018-11-09env: move `spack env stage` into `spack stage` commandTodd Gamblin4-27/+15
2018-11-09env: `spack env destroy` is now `spack env remove`Todd Gamblin2-20/+23
2018-11-09env: move add, remove, and concretize to top-level commandsTodd Gamblin7-104/+155
2018-11-09env: moved all `spack env install` functionality into `spack install`Todd Gamblin4-124/+110
- moved get_env from cmd/env.py to environment.py - spack install will now install into the active environment when no arguments are provided. It looks: 1. at the command line 2. for a local spack.yaml file 3. for any currently activated environment
2018-11-09env: remove all -e arguments on subcommandsTodd Gamblin2-18/+25
- add and remove now require an active environment - update tests to use with <ENV> instead of -e
2018-11-09env: currently activated environment cannot be destroyedTodd Gamblin3-22/+42
2018-11-09env: prevent any active environments from interfering with testsTodd Gamblin1-0/+22
- ensure that `SPACK_ENV` is unset before tests - ensure that `spack.environment.active` is deactivated if set
2018-11-09env: remove upgrade() and relocate() for nowTodd Gamblin3-140/+1
- these won't be in the first release of environments - they'll be added back in later
2018-11-09env: add test to ensure config precedence is high-to-lowTodd Gamblin2-3/+46
2018-11-09env: make install_status output more conciseTodd Gamblin3-14/+46
2018-11-09env: environments can be named or created in directoriesTodd Gamblin8-282/+456
- `spack env create <name>` works as before - `spack env create <path>` now works as well -- environments can be created in their own directories outside of Spack. - `spack install` will look for a `spack.yaml` file in the current directory, and will install the entire project from the environment - The Environment class has been refactored so that it does not depend on the internal Spack environment root; it just takes a path and operates on an environment in that path (so internal and external envs are handled the same) - The named environment interface has been hoisted to the spack.environment module level. - env.yaml is now spack.yaml in all places. It was easier to go with one name for these files than to try to handle logic for both env.yaml and spack.yaml.
2018-11-09env: `spack install SPEC` installs into currently active environment.Todd Gamblin4-9/+100
- install will now add (if necessary), concretize, and install a single spec into the active environment.
2018-11-09env: `spack env install` automatically concretizes specsTodd Gamblin2-6/+16
2018-11-09env: add spack env activate/deactivate and shell supportTodd Gamblin9-65/+280
- `spack env activate foo`: sets SPACK_ENV to the current active env name - `spack env deactivate`: unsets SPACK_ENV, deactivates the environment - added support to setup_env.sh and setup_env.csh - other env commands work properly with SPACK_ENV, as with an environment arguments. - command-line --env arguments take precedence over the active environment, if given.
2018-11-09env: bugfix: spack env list won't fail if var/spack/environments doesn't existTodd Gamblin1-1/+6
2018-11-09env: rework environmentsTodd Gamblin8-531/+1160
- env.yaml is now meaningful; it contains authoritative user specs - concretize diffs user specs in env.yaml and env.json to allow user to add/remove by simply updating env.yaml - comments are preserved when env.yaml is updated by add/unadd - env.yaml can contain configuration and include external configuration either from merged files or from config scopes - there is only one file format to remember (env.yaml, no separate init format) - env.json is now env.lock, and it stores the *last* user specs to be concretized, along with full provenance. - internal structure was modified slightly for readability - env.lock contains a _meta section with metadata, in case needed - added more tests for environments - env commands follow Spack conventions; no more `spack env foo install`
2018-11-09config: allow env.yaml to contain configuration in a single fileTodd Gamblin8-81/+271
- add `SingleFileScope` to configuration, which allows us to pull config sections from a single file. - update `env.yaml` and tests to ensure that the env.yaml schema works when pulling configurtion from the env file.
2018-11-09env: rename `spack env list` to `spack env status`Todd Gamblin1-5/+5
2018-11-09schemas: rework schemas so that they can be included from other filesTodd Gamblin11-400/+496
- Each schema now has a top-level `properties` and `schema` attribute. - The `properties` is a fragment that can be included in other jsonschemas, via Python, not via '$ref' - Th `schema` is a complete `jsonschema` with `title` and `$schema` properties.
2018-11-09bugfix: Avoid `KeyError` in compilers.yaml version checkTodd Gamblin1-2/+2
2018-11-09env: add -e as global spack argument, make `spack -e <env> spec` workTodd Gamblin6-40/+64
- add -E/--exact-env instead of --use-env-repo - simplify env handling in `spack find`
2018-11-09env: add `--env` argument to `spack location`Todd Gamblin2-11/+12
2018-11-09env: add --env argument to `spack find`Todd Gamblin5-9/+52
- add a common argument for `-e/--env` - modify the database to support queries on subsets of hashes - allow `spack find` to be filtered by hashes in an environment
2018-11-09bugfix: identical specs with different DAG hashes don't shadow each otherTodd Gamblin1-3/+5
- logic used in `spack find` was hiding duplicate installations if their hashes were different - short hash doesn't work in this scenario, since specs are structurally identical - ConstraintAction always works on a DB query, so use the DAG hash to ensure uniqueness
2018-11-09env: move main Environment class and logic to `spack.environment`Todd Gamblin5-601/+629
- `spack.environment` is now the home for most of the infrastructure around Spack environments - refactor `cmd/env.py` to use everything from spack.environment - refactor the cmd/env test to use pytest and fixtures
2018-11-09utils: merge spack.environment into spack.util.environmentTodd Gamblin9-637/+631
- `spack.util.environment` is the new home for routines that modify environment variables. - This is to make room for `spack.environment` to contain new routines for dealing with spack environments
2018-11-09env: refactor imports in cmd/env.py and testsTodd Gamblin2-16/+11
2018-11-09env: refactor subparsers in env.pyTodd Gamblin1-121/+116
- Instead of one method with all parsers, each subcommand gets two functions: `setup_<cmd>_parser()` and `environment_<cmd>()` - the `setup_parser()` and `env()` functions now generate the parser based on these and a list of subcommands. - it is now easier to associate the arguments with the subcommand.
2018-11-09env: add spack env command, along with env.yaml schema and testsPeter Josef Scheibel4-0/+988
Co-authored-by: Elizabeth Fischer <rpf2116@columbia.edu>
2018-11-09env: preserve command_line as the scope of highest precedencePeter Josef Scheibel2-10/+23
Co-authored-by: Elizabeth Fischer <rpf2116@columbia.edu>
2018-11-09env: refactor common argumentsElizabeth Fischer6-58/+108
2018-11-09specs: save/restore concrete & patches when exporting/importing SpecsElizabeth Fischer1-0/+20