summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2022-01-10stage.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-01-10Python: set default config_vars (#28290)Adam J. Stewart1-9/+5
* Python: set default config_vars * Add missing commas * dso_suffix not present for some reason * Remove use of default_site_packages_dir * Use config_vars during bootstrapping too * Catch more errors * Fix unit tests * Catch more errors * Update docstring
2022-01-06Fix double space in prompt after 'spack env activate -p' (#28279)Harmen Stoppels1-1/+1
2022-01-05Add function to determine Linux kernel version (#27855)Andrew W Elble1-0/+20
This reports the kernel version (vs. the distro version) on Linux and returns a valid Version (stripping characters like '+' which may be present for custom-built kernels).
2021-12-29Ensure some version known to Spack can satisfy constraints in `depends_on` ↵Massimiliano Culpo1-0/+40
(#28131) Add a new check to `spack audit` to scan and verify that version constraints may be satisfied Modifications: - [x] Add a new check to `spack audit` to scan and verify that version constraints may be satisfied by some version declared in the built-in repository - [x] Fix issues found by CI Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-12-28Fixed typos: 'wtih' instead of 'with' (#28166)Martin Diehl3-4/+4
2021-12-23Merge tag 'v0.17.1' into developMassimiliano Culpo1-1/+1
2021-12-23New subcommand: spack bootstrap status (#28004)Massimiliano Culpo3-0/+200
This command pokes the environment, Python interpreter and bootstrap store to check if dependencies needed by Spack are available. If any are missing, it shows a comprehensible message.
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-12-22locks: 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-22Use consistent method of checking for presence of info in connection (#27694)Joseph Snyder3-29/+62
Fixes #27652 Ensure that mirror's to_dict function returns a syaml_dict object for all code paths. Switch to using the .get function for accessing the potential information from the S3 mirror objects. If the key is not there, it will gracefully return None instead of failing with a KeyError Additionally, check that the connection object is a dictionary before trying to "get" from it. Add a test for the capturing of the new S3 information.
2021-12-21Regenerate 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-20Intel oneAPI packages: add 2022.1.1 release (#28096)Robert Cohn2-0/+15
Co-authored-by: Egorov, Andrey <andrey.egorov@intel.com>
2021-12-20Fixing spacing of libabigail to : (#28085)Vanessasaurus1-1/+1
2021-12-20Fix bugs in spack monitor (#27511)Vanessasaurus7-3/+77
Updates to installer.py did not account for spack monitor, so as currently implemented there are three cases of failure that spack monitor will not account for. To fix this we add additional hooks, including an on cancel and also do a custom action on concretization fail. Signed-off-by: vsoch <vsoch@users.noreply.github.com> Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-12-19jsonschema: use more specific schema identifiersTodd Gamblin16-16/+16
The latest version of `jsonschema` fails if we're not specific about which schema draft specification we're using. Update all of them to use the latest one (draft-07).
2021-12-19externals: Upgrade `jsonschema` to `v3.2.0`Todd Gamblin23-2200/+1979
Our `jsonschema` external won't support Python 3.10, so we need to upgrade it. It currently generates this warning: lib/spack/external/jsonschema/compat.py:6: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working This upgrades `jsonschema` to 3.2.0, the latest version with support for Python 2.7. The next version after this (4.0.0) drops support for 2.7 and 3.6, so we'll have to wait to upgrade to it. Dependencies have been added in prior commits.
2021-12-19externals: add `attrs` for new `jsonschema`Todd Gamblin15-0/+4924
Updating `jsonschema` to 3.2.0 requires `attrs`. Add it to externals.
2021-12-19externals: add `pyrsistent` for new `jsonschema`Todd Gamblin7-0/+1383
Updating `jsonschema` to 3.2.0 requires `pyrsistent`. Adding just the pieces of it that are needed for `jsonschema`.
2021-12-19externals: add `functools32` for new `jsonschema`Todd Gamblin6-0/+1034
Updating `jsonschema` to 3.2.0 requires `functools32`, just for Python 2.
2021-12-19Tests: remove test_get_stage_root_in_spack since it writes to the spack ↵Tamara Dahlgren1-24/+0
directory (#28056)
2021-12-18sbang: 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-17Remove ability to run spack monitor without auth (#27888)Vanessasaurus7-33/+15
spack monitor now requires authentication as each build must be associated with a user, so it does not make sense to allow the --monitor-no-auth flag and this commit will remove it
2021-12-17Add 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-16Set backup=False by default in filter_file (#28036)Harmen Stoppels1-1/+1
2021-12-16Fix table formatting (#28037)Harmen Stoppels1-1/+1
2021-12-16MANPATH 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-16Added opensuse/leap:15 to spack containerize (#27837)Christian Goll2-0/+21
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-12-15Provide 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-16Bugfix: Simplify preferred-test versions; set checksum defaults (#28026)Tamara Dahlgren4-12/+12
* Simplify preferred-test versions; set checksum defaults * Fix test_preferred failure