summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2018-05-30Document specs with multiple version ranges (#8284)Adam J. Stewart1-0/+8
2018-05-24Fix missing spack.compiler import (#8240)Michael Kuhn1-0/+1
Fixes: #8258 #8090 altered import behavior so that import spack no longer provides access to many other Spack modules. This addresses a case which depended on the prior behavior and was not updated as part of #8090. This particular import error only came up when users were setting compiler flags on specs. See also: #8194
2018-05-22CUDA 9.2 (#8238)Axel Huebl1-4/+7
Add the latest CUDA release, v9.2 and updated CUDA Compatibility Matrix
2018-05-21Add info about haveged to gpg/randomness note (#8227)George Hartzell1-3/+18
2018-05-20URL parsing: strip x86-64 from filename (#8200)Adam J. Stewart2-2/+4
2018-05-19fix leftover references to spack.<symbol>Todd Gamblin10-24/+19
- there were some leftover spack.* names being used after we removed globals and moved everything in the top-level namespace to spack.pkgkit - point those references to their new homes
2018-05-18imports: remove unnecessary `import spack` statementsTodd Gamblin26-47/+33
- remove most `import spack` statements, except for files that need `spack_version` - import spack is no longer sufficient to use submodules (e.g. spack.directives). - these submodules must be imported directly. Update references accordingly.
2018-05-18init: move symbols in `spack` to `spack.pkgkit`Todd Gamblin9-122/+137
- Spack packages were originally expected to call `from spack import *` themselves, but it has become difficult to manage imports in the Spack core. - the top-level namespace polluted by package symbols, and it's not possible to avoid circular dependencies and unnecessary module loads in the core, given all the stuff the packages need. - This makes the top-level `spack` package essentially empty, save for a version tuple and a version string, and `from spack import *` is now essentially a no-op. - The common routines and directives that packages need are now in `spack.pkgkit`, and the import system forces packages to automatically include this so that old packages that call `from spack import *` will continue to work without modification. - Since `from spack import *` is no longer required, we could consider removing ``from spack import *`` from packages in the future and shifting to ``from spack.pkgkit import *``, but we can wait a while to do this.
2018-05-18locks: add configuration and command-line options to enable/disable locks ↵Todd Gamblin10-54/+311
(#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
2018-05-17make check_for_compiler_existence an instance variableTodd Gamblin3-18/+16
2018-05-17use os.path.join instead of join_path in coreTodd Gamblin34-156/+141
- Spack core has long used llnl.util.filesystem.join_path, but os.path.join is pretty much the same thing, and is more efficient. - Use os.path.join in the core Spack code from now on.
2018-05-17Convert lazy singleton functions to Singleton objectTodd Gamblin61-537/+498
- simplify the singleton pattern across the codebase - reduce lines of code needed for crufty initialization - reduce functions that need to mess with a global - Singletons whose semantics changed: - spack.store.store() -> spack.store - spack.repo.path() -> spack.repo.path - spack.config.config() -> spack.config.config - spack.caches.fetch_cache() -> spack.caches.fetch_cache - spack.caches.misc_cache() -> spack.caches.misc_cache
2018-05-17init: make spack.cmd.all_commands lazyTodd Gamblin5-11/+27
- `spack.cmd.all_commands` does a directory listing on `lib/spack/spack/cmd`, regardless of whether it is needed - make this lazy so that the directory listing won't happen unless it's necessary.
2018-05-17init: only imoprt jsonschema if neededTodd Gamblin1-9/+10
- It turns out that jsonschema is one of the more expensive imports. - move imports of jsonschema into functions to avoid the performance hits for calls that don't need config.
2018-05-17init: initialize spack.store lazilyTodd Gamblin31-176/+215
- spack.store was previously initialized at the spack.store module level, but this means the store has to be initialized on every spack call. - this moves the state in spack.store to a singleton so that the store is only initialized when needed.
2018-05-17init: move spack.repo global variable into its own moduleTodd Gamblin63-233/+257
- spack.repository module is now spack.repo - `spack.repo` is now `spack.repo.path()` and loaded lazily - Added `spack.repo.get()` and `spack.repo.all_package_names()` as convenience functions to simplify the new lazy interface. - updated tests and code
2018-05-17tests: rename builtin_mock to "mock_packages" for clarity.Todd Gamblin33-121/+117
- rename `builtin_mock` and `refresh_builtin_mock` to the more clear `mock_packages` and `mutable_mock_packages`
2018-05-17init: convert spack.debug global variable to config optionTodd Gamblin11-27/+25
2018-05-17init: remove package_testing globalTodd Gamblin9-75/+82
- refactor the way test dependencies are passed to the concretizer - remove global state - update tests
2018-05-17init: remove dependency on spack.versionTodd Gamblin3-16/+8
- no longer require `spack_version` to be a Version (it isn't used that way anyway) - use a simple tuple `spack_version_info` with major, minor, patch versions - generate `spack_version` from the tuple
2018-05-17init: remove binary_cache_retrieved_specs global variableTodd Gamblin2-26/+21
- remove variable from spack/__init__.py - clean up imports and some code structure in binary_distribution.py
2018-05-17init: remove spack.concretizer global variableTodd Gamblin5-82/+104
2018-05-17init: remove build_jobs global variableTodd Gamblin3-15/+4
2018-05-17init: convert spack.dirty global to config optionTodd Gamblin4-34/+12
2018-05-17init: remove template_dirs globalTodd Gamblin6-24/+5
- remove template_dirs global variable from __init__.py - also remove update_template_dirs fixture, which had no effect on test correctness
2018-05-17init: replace global spack.do_checksum with config optionTodd Gamblin13-71/+67
2018-05-17init: replace spack.insecure global with spack.config.getTodd Gamblin10-43/+116
2018-05-17config: simplify configuration API to just get and setTodd Gamblin29-169/+203
- replace `spack.config.get_configuration()` with `spack.config.config()` - replace `get_config`/`update_config` with `get`, `set` - add a path syntax that can be used to refer to specific config options without firt getting the entire configuration dict - update usages of `get_config` and `update_config` to use `get` and `set`
2018-05-17config: create internal config scope for commands to use.Todd Gamblin5-13/+87
2018-05-17init: Move file cache initialization out of __init__.pyTodd Gamblin9-42/+102
2018-05-17config: rework config system into a class instead of globalsTodd Gamblin13-470/+555
- Current configuration code forces the config system to be initialized at module scope, so configs are parsed on every Spack run, essentially before anything else. - We need more control over configuration init order, so move the config scopes into a class and reduce global state in config.py
2018-05-17init: move editor from spack/__init__.py to spack.util.editorTodd Gamblin3-22/+58
2018-05-17init: factor paths out of spack/__init__.py and into spack.paths moduleTodd Gamblin59-286/+357
2018-05-17init: simplify import ordering in __init__.pyTodd Gamblin8-87/+112
2018-05-15Move report writers to separate classesZack Galbreath5-190/+335
2018-05-15Add test case for CDash reportingZack Galbreath1-0/+42
2018-05-15upload reports to CDashZack Galbreath2-6/+35
2018-05-15Generate CDash reports for build/install stepZack Galbreath1-2/+33
2018-05-15CDash report for concretization errorsZack Galbreath2-1/+24
Capture any concretization errors and record them in a CTest Update.xml file.
2018-05-15CDash report for configure stepZack Galbreath2-8/+112
Generate CTest XML file containing configure output
2018-05-15Capture source line number in CTest log parserZack Galbreath1-1/+1
2018-05-15Fix typo in commentZack Galbreath1-1/+1
2018-05-15Add CDash as a valid reporting formatZack Galbreath1-1/+2
2018-05-15Initialize report generator before parsing specsZack Galbreath2-7/+10
This will allow us to generate reports for concretization errors
2018-05-15Allow --overwrite and --log-format to be used togetherZack Galbreath1-36/+35
Restructure the logic of the spack install command to allow these two command-line arguments to be used at the same time.
2018-05-15Format-agnostic data structure for reportsZack Galbreath1-43/+45
Replace the JUnit-specific terms 'testsuite' and 'testcase' with 'spec' and 'package', respectively.
2018-05-08Packages can tune the list of files to be archived at the end of install (#7760)Massimiliano Culpo4-0/+81
Fixes #2781 This PR introduces a new attribute for packages called `archive_files`, which designates files that should be saved from a package build (e.g. the config.log generated during autotools builds). The attribute contains a list of glob expressions; Any file that matches will be archived in the `<prefix>/.spack/archived-files` directory. Errors that occur when archiving files are collected and reported in a file named `<prefix>/.spack/archived-files/errors.txt`. `AutotoolsPackage` and `CMakePackage` provide a sensible default override for this attribute.
2018-05-07Specs add a space before dependencies (#7942)Massimiliano Culpo3-26/+45
fixes #7941 Modified string representation of Specs to add a space before deps Unit-tests have been modified accordingly Added a test for regression on #7941
2018-05-06Support *.TAR.gz extension. (#7973)健美猫1-1/+1
2018-05-05Fix coloring of URLs containing @ symbol (#7799)Adam J. Stewart1-3/+3
* Fix coloring of URLs containing @ symbol * Fix coloring of descriptions containing @ symbol