summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2022-04-14intel-mkl: load compiler modules when querying compiler (#29439)Harmen Stoppels2-11/+13
2022-04-14Hide package repository count when redirecting stdout (#29402)百地 希留耶1-3/+5
2022-04-14Fix tab completion erroring with `spack unit-test` (#29405)百地 希留耶1-1/+1
2022-04-14ci.py: fix utf-8 issue with git log output (#29419)Harmen Stoppels1-2/+4
2022-04-14Add a testHarmen Stoppels1-0/+8
2022-04-14VersionRange.satisfies should test non-empty intersectionHarmen Stoppels1-25/+13
2022-04-14Fix typos when forwarding arguments to traverse_edges (#29261)Massimiliano Culpo4-4/+11
A few calls use `deptypes=...` instead of `deptype=...`
2022-04-14Unalias despacktivate only when alias exists (#28939)Harmen Stoppels1-1/+1
2022-04-14database: fix reindex with uninstalled deps (#28764)Harmen Stoppels4-42/+94
* Fix reindex with uninstalled deps When a prefix of a dep is removed, and the db is reindexed, it is added through the dependent, but until now it incorrectly listed the spec as 'installed'. There was also some questionable behavior in the db when the same spec was added multiple times, it would always be marked installed. * Always reserve path * Only add installed spec's prefixes to install prefixes set * Improve warning, and ensure ensure only ensures * test: reindex with every file system remnant removed except for the old index; it should give a database with nothing installed, including records with installed==False,external==False,ref_count==0,explicit=True, and these should be removable from the database
2022-04-14Resource stage: no space before colon (#28560)Adam J. Stewart1-2/+2
2022-04-14Fix spack -C command_line_scope with other flags (#28418)Jordan Galby1-3/+3
The option `spack -C` was broken if another flag that touched config was also set (`spack -C ... -d`, `-c config:...` etc...).
2022-04-14is_system_path: return False if path is None (#28403)Tamara Dahlgren2-1/+3
2022-04-14stage.steal_source: preserve symlinksPeter Scheibel1-1/+1
This avoids dangling symlink errors. ignore_dangling_symlinks option would be more-targeted but is only available for Python >= 3.2 (#28318)
2022-04-14Fix double space in prompt after 'spack env activate -p' (#28279)Harmen Stoppels1-1/+1
2021-12-23Bump version and update CHANGELOG.mdMassimiliano Culpo1-1/+1
2021-12-23locks: allow locks to work under high contention (#27846)Tom Scogland1-3/+6
* locks: allow locks to work under high contention This is a bug found by Harshitha Menon. The `lock=None` line shouldn't be a release but should be ``` return (lock_type, None) ``` to inform the caller it couldn't get the lock type requested without disturbing the existing lock object in the database. There were also a couple of bugs due to taking write locks at the beginning without any checking or release, and not releasing read locks before requeueing. This version no longer gives me read upgrade to write errors, even running 200 instances on one box. * Change lock in check_deps_status to read, release if not installed, not sure why this was ever write, but read definitely is more appropriate here, and the read lock is only held out of the scope if the package is installed. * Release read lock before requeueing to reduce chance of livelock, the timeout that caused the original issue now happens in roughly 3 of 200 workers instead of 199 on average.
2021-12-23Regenerate views when specs already installed (#28113)Harmen Stoppels1-4/+2
With this commit: ``` $ spack env activate --temp $ spack install zlib ==> All of the packages are already installed ==> Updating view at /tmp/spack-faiirgmt/.spack-env/view $ spack install zlib ==> All of the packages are already installed ``` Before this PR: ``` $ spack env activate --temp $ spack install zlib ==> All of the packages are already installed $ spack install zlib ==> All of the packages are already installed ``` No view was generated
2021-12-23sbang: respect package permissive package permissions for sbang (#25764)Paul Spencer2-12/+96
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov> Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-12-23Add setdefault option to tcl module (#14686)victorusu4-18/+69
This commit introduces the command spack module tcl setdefault <package> similar to the one already available for lmod Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-12-23Set backup=False by default in filter_file (#28036)Harmen Stoppels1-1/+1
2021-12-23Fix table formatting (#28037)Harmen Stoppels1-1/+1
2021-12-23Revert "patches: make re-applied patches idempotent (#26784)" (#27625)Harmen Stoppels4-137/+25
This reverts commit c5ca0db27fce5d772dc8a4fcffec3b62bb0bf1f3.
2021-12-23MANPATH needs a trailing ':' to utilize system defaults (#21682)Andrew W Elble2-1/+22
otherwise spack breaks using system man pages by default. Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-12-23Added opensuse/leap:15 to spack containerize (#27837)Christian Goll2-0/+21
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-12-23Provide meaningful message for empty environment installs (#28031)Tamara Dahlgren2-9/+26
* Provide a meaningful failure message for installation of an empty environment * Allow regenerating view per offline discussion
2021-12-23Add option to minimize full debug cores. include warning message about ↵Greg Becker4-21/+73
performance (#27970) Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-12-23Install dir creation message demoted to "debug" level (#27911)Harmen Stoppels1-2/+1
2021-12-23Improve debug info from concretizer (#27707)Greg Becker2-2/+33
2021-12-23spack audit: fix API calls (#27713)Massimiliano Culpo1-4/+4
This broke in #24858
2021-12-23Handle byte sequences which are not encoded as UTF8 while logging. (#21447)Paul Ferrell1-1/+6
Fix builds which produce a lines with non-UTF8 output while logging The alternative is to read in binary mode, and then decode while ignoring errors.
2021-12-23ci: run style unit tests only if we target develop (#27472)Harmen Stoppels2-2/+17
Some tests assume the base branch is develop, but this branch may not have been checked out.
2021-12-23Turn some verbose messages into debug messages (#27408)Harmen Stoppels1-8/+8
2021-12-23Fix overloaded argparse keys (#27379)Harmen Stoppels5-15/+14
Commands should not reuse option names defined in main.
2021-12-23Fix log-format reporter ignoring install errors (#25961)Jordan Galby3-31/+48
When running `spack install --log-format junit|cdash ...`, install errors were ignored. This made spack continue building dependents of failed install, ignoring `--fail-fast`, and exit 0 at the end.
2021-12-23make --enable-locks actually enable locks (#24675)Dylan Simon1-2/+3
2021-11-05bump version number to 0.17.0Todd Gamblin2-2/+2
2021-11-05Prevent additional properties to be in the answer set when reusing specs ↵Massimiliano Culpo3-1/+42
(#27240) * Prevent additional properties to be in the answer set when reusing specs fixes #27237 The mechanism to reuse concrete specs relies on imposing the set of constraints stemming from the concrete spec being reused. We also need to prevent that other constraints get added to this set.
2021-11-05make version docs reflect reality (#27149)Harmen Stoppels1-26/+30
* make version docs reflect reality * typo and make things * 2.6 -> 2.7 in example
2021-11-05commands: `spack load --list` alias for `spack find --loaded` (#27184)Todd Gamblin4-10/+50
See #25249 and https://github.com/spack/spack/pull/27159#issuecomment-958163679. This adds `spack load --list` as an alias for `spack find --loaded`. The new command is not as powerful as `spack find --loaded`, as you can't combine it with all the queries or formats that `spack find` provides. However, it is more intuitively located in the command structure in that it appears in the output of `spack load --help`. The idea here is that people can use `spack load --list` for simple stuff but fall back to `spack find --loaded` if they need more. - add help to `spack load --list` that references `spack find` - factor some parts of `spack find` out to be called from `spack load` - add shell tests - update docs Co-authored-by: Peter Josef Scheibel <scheibel1@llnl.gov> Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com>
2021-11-05docs for experimental `--reuse` argument to `spack install`Todd Gamblin1-0/+28
Add docs for `--reuse`, along with a warning that it will likely be removed and refactored.
2021-11-05error message for reusing multiple hashes for packageGregory Becker1-1/+2
2021-11-05concretizer: add error messages and simplify asp.pyTodd Gamblin2-8/+18
2021-11-05Fix logic program for multi-valued variantsMassimiliano Culpo1-45/+71
Reformulate variant rules so that we minimize both 1. The number of non-default values being used 2. The number of default values not-being used This is crucial for MV variants where we may have more than one default value
2021-11-05bugfix: handle hashes that only exist in input specsTodd Gamblin1-27/+48
In our tests, we use concrete specs generated from mock packages, which *only* occur as inputs to the solver. This fixes two problems: 1. We weren't previously adding facts to encode the necessary `depends_on()` relationships, and specs were unsatisfiable on reachability. 2. Our hash lookup for reconstructing the DAG does not consider that a hash may have come from the inputs.
2021-11-05concretizer: exempt already-installed specs from compiler and variant rulesTodd Gamblin2-7/+22
Concrete specs that are already installed or that come from a buildcache may have compilers and variant settings that we do not recognize, but that shouldn't prevent reuse (at least not until we have a more detailed compiler model). - [x] make sure compiler and variant consistency rules only apply to built specs - [x] don't validate concrete specs on input, either -- they're concrete and we shouldn't apply today's rules to yesterday's build
2021-11-05spack diff: more flexible tests, restore transitive diff with spec_clausesTodd Gamblin3-12/+39
In switching to hash facts for concrete specs, we lost the transitive facts from dependencies. This was fine for solves, because they were implied by the imposed constraints from every hash. However, for `spack diff`, we want to see what the hashes mean, so we need another mode for `spec_clauses()` to show that. This adds a `expand_hashes` argument to `spec_clauses()` that allows us to output *both* the hashes and their implications on dependencies. We use this mode in `spack diff`.
2021-11-05Add a missing definition in the logic programMassimiliano Culpo1-0/+1
2021-11-05Add buildcache to reusable specsMassimiliano Culpo4-16/+51
2021-11-05spack install: add --reuse argumentMassimiliano Culpo2-4/+6
2021-11-05spack concretize: add --reuse argumentMassimiliano Culpo4-16/+35