summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-04-15version bump: 0.14.2Todd Gamblin1-1/+1
2020-04-15bugfix: spack test should not output [+] for mock installs (#15609)Todd Gamblin1-3/+2
`spack test` has a spurious '[+] ' in the output: ``` lib/spack/spack/test/install.py .........[+] ...... ``` Output is properly suppressed: ``` lib/spack/spack/test/install.py ............... ```
2020-04-15`spack install` terminal output handling in foreground/background (#15723)Todd Gamblin7-224/+1155
Makes the following changes: * (Fixes #15620) tty configuration was failing when stdout was redirected. The implementation now creates a pseudo terminal for stdin and checks stdout properly, so redirections of stdin/out/err should be handled now. * Handles terminal configuration when the Spack process moves between the foreground and background (possibly multiple times) during a build. * Spack adjusts terminal settings to allow users to to enable/disable build process output to the terminal using a "v" toggle, abnormal exit cases (like CTRL-C) could leave the terminal in an unusable state. This is addressed here with a special-case handler which restores terminal settings. Significantly extend testing of process output logger: * New PseudoShell object for setting up a master and child process and configuring file descriptor inheritance between the two * Tests for "v" verbosity toggle making use of the added PseudoShell object * Added `uniq` function which takes a list of elements and replaces any consecutive sequence of duplicate elements with a single instance (e.g. "112211" -> "121") Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15database: maintain in-memory consistency on remove (#15777)Massimiliano Culpo2-1/+21
The performance improvements done in #14693 where leaving the DB in an inconsistent state when specs were removed from it. This PR updates the DB internal state whenever the DB is written to a file. Note that we still cannot properly enumerate installed dependents, so there is a TODO in this code. Fixing that will require the dependents dictionaries in specs to be re-keyed (either by hash, or not keyed at all -- a list would do). See #11983 for details.
2020-04-15performance: add a verification file to the database (#14693)Andrew W Elble3-3/+52
Reading the database repeatedly can be quite slow. We need a way to speed up Spack when it reads the DB multiple times, but the DB has not been modified between reads (which is nearly all the time). - [x] Add a file containing a unique uuid that is regenerated at database write time. Use this uuid to suppress re-parsing the database contents if we know a previous uuid and the uuid has not changed. - [x] Fix mutable_database fixture so that it resets the last seen verifier when it resets. - [x] Enable not rereading the database immediately after a write. Make the tests reset the last seen verifier in between tests that use the database fixture. - [x] make presence of uuid module optional
2020-04-15Remove DB conversion of old index.yaml (#15298)Peter Scheibel1-84/+45
Removed the code that was converting the old index.yaml format into index.json. Since the change happened in #2189 it should be considered safe to drop this (untested) code.
2020-04-15Allow Spack Environments with '-h' in the name (#15429)Adam J. Stewart2-32/+63
If a user invoked "spack env activate example-henv", Spack would mistakenly interpret the "-h" from "example-henv" as the "-h" option. This commit allows users to create and activate environments with "-h" in the name. This issue existed for bash shell support as well as csh support, and this commit addresses both, along with some other unrelated csh support issues.
2020-04-15Environments/views: only override spec prefix for non-external packages (#15475)Peter Scheibel2-1/+49
* only override spec prefix for non-external packages * add test that environment shell modifications respect explicitly-specified prefixes for external packages * add clarifying comment
2020-04-15Source devnull in environment_after_sourcing_files (closes #15775) (#15791)Jonathon Anderson1-1/+2
spack.util.environment_after_sourcing_files compares the local environment against a shell environment after having sourced a file; but this ends up including the default shell profile and rc, which might differ from the local environment. To change this, compare against the default shell environment, expressed here as 'source /dev/null'.
2020-04-15bugfix: TERM may not be in the environment on Cray (#15630)Todd Gamblin1-3/+7
2020-04-15Blacklist Lmod variable modifications when sourcing files (#15778)Massimiliano Culpo3-1/+24
fixes #15775 Add all the variables listed here: https://lmod.readthedocs.io/en/latest/090_configuring_lmod.html to the list of those blacklisted when constructing environment modifications by sourcing files.
2020-03-20update CHANGELOG.md for 0.14.1v0.14.1Todd Gamblin1-0/+12
2020-03-20version bump: 0.14.1Todd Gamblin1-1/+1
2020-03-20multiprocessing: allow Spack to run uninterrupted in background (#14682)Greg Becker2-47/+84
Spack currently cannot run as a background process uninterrupted because some of the logging functions used in the install method (especially to create the dynamic verbosity toggle with the v key) cause the OS to issue a SIGTTOU to Spack when it's backgrounded. This PR puts the necessary gatekeeping in place so that Spack doesn't do anything that will cause a signal to stop the process when operating as a background process.
2020-03-20Cray bugfix: TERM missing while reading default target (#15381)Greg Becker1-6/+8
Bug: Spack hangs on some Cray machines Reason: The TERM environment variable is necessary to run bash -lc "echo $CRAY_CPU_TARGET", but we run that command within env -i, which wipes the environment. Fix: Manually forward the TERM environment variable to env -i /bin/bash -lc "echo $CRAY_CPU_TARGET"
2020-03-20Upstreams: don't write metadata directory to upstream DB (#15526)Kai Germaschewski1-1/+1
When trying to use an upstream Spack repository, as of f2aca86 Spack was attempting to write to the upstream DB based on a new metadata directory added in that commit. Upstream DBs are read-only, so this should not occur. This adds a check to prevent Spack from writing to the upstream DB
2020-03-20Creating versions from urls doesn't modify class attributes (#15452)Massimiliano Culpo3-3/+3
fixes #15449 Before this PR a call to pkg.url_for_version was modifying class attributes determining different results for subsequents calls and an error when the urls was empty.
2020-03-20bugfix: fix install_missing_compilers option bug from v0.14.0 (#15416)Greg Becker1-0/+18
* bugfix: ensure bootstrapped compilers built before packages using the compiler
2020-03-20bugfix: installer.py shouldn't be executable (#15386)Todd Gamblin1-0/+0
This is a minor permission fix on the new installer.py introduced in #13100.
2020-03-20Add function replace_prefix_nullterm for use on mach-o rpaths. (#15347)Patrick Gartung1-3/+34
This recovers the old behavior of replace_prefix_bin that was modified to work with elf binaries by prefixing os.sep to new prefix until length is the same as old prefix.
2020-03-20ArchSpec: fix semantics of satisfies when not concrete and strict is true ↵Massimiliano Culpo2-0/+17
(#15319)
2020-03-20suite-sparse: fix installation for v5.X (#15326)Adam J. Stewart1-1/+2
fixes #15184 GraphBLAS depends on m4 according to CMake error message Do not use INSTALL= when compiling the library
2020-03-20testing: increase installer coverage (#15237)Tamara Dahlgren3-109/+280
2020-03-20bugfix: resolve undefined source_pkg_dir failure (#15339)Tamara Dahlgren2-8/+74
2020-03-20Bugfix: resolve StopIteration message attribute failure (#15341)Massimiliano Culpo2-1/+22
Testing the install StopIteration exception resulted in an attribute error: AttributeError: 'StopIteration' object has no attribute 'message' This PR adds a unit test and resolves that error.
2020-03-20Recover coverage from subprocesses during unit tests (#15354)Tamara Dahlgren5-16/+16
* Recover coverage from subprocesses during unit tests
2020-03-20Correct pytest.raises matches to match (#15346)Massimiliano Culpo3-10/+10
2020-03-20bugfix: Add dependents when initializing spec from yaml (#15220)Tamara Dahlgren2-11/+17
The new build process, introduced in #13100 , relies on a spec's dependents in addition to their dependencies. Loading a spec from a yaml file was not initializing the dependents. - [x] populate dependents when loading from yaml
2020-03-20Uniquify suffixes added to module names (#14920)Seth R. Johnson3-1/+4
2020-03-20bugfix: ensure proper dependency handling for package-only installs (#15197)Tamara Dahlgren3-17/+149
The distributed build PR (#13100) -- did not check the install status of dependencies when using the `--only package` option so would refuse to install a package with the claim that it had uninstalled dependencies whether that was the case or not. - [x] add install status checks for the `--only package` case. - [x] add initial set of tests
2020-03-20Fix for being able to 'spack load' packages that have been renamed. (#14348)Andrew W Elble2-1/+36
* Fix for being able to 'spack load' packages that have been renamed. * tests: add test for 'spack load' of a installed, but renamed/deleted package
2020-03-20modules: store configure args during build (#11084)Michael Kuhn4-11/+41
This change stores packages' configure arguments during build and makes use of them while refreshing module files. This fixes problems such as in #10716.
2020-03-20fetch_strategy: remove vestigial code (#15431)Greg Becker1-18/+0
2020-02-23update CHANGELOG.md for 0.14.0v0.14.0Todd Gamblin1-0/+97
2020-02-23version bump: 0.14.0Todd Gamblin4-1/+11713
2020-02-22Automatically run LLDB codesign script on mac (#15169)Seth R. Johnson1-5/+12
Newer versions of LLVM provide a one-line command to set up LLDB code signing. Now the build will abort only if this command fails. https://lldb.llvm.org/resources/build.html#code-signing-on-macos
2020-02-22add new package : brltty (#15161)darmac1-0/+30
2020-02-22add new package : audit-userspace (#15163)darmac1-0/+25
2020-02-22add new package : apachetop (#15164)darmac1-0/+27
2020-02-22add new package : advancecomp (#15166)darmac1-0/+24
2020-02-22add new package : acpid (#15167)darmac1-0/+28
2020-02-22lighttpd : fix pcre depends (#15168)darmac1-0/+2
2020-02-21Emit a sensible error message if compiler's target is overly specific (#14888)Massimiliano Culpo2-0/+33
* Emit a sensible error message if compiler's target is overly specific fixes #14798 fixes #13733 Compiler specifications require a generic architecture family as their target. This commit improves the error message that is displayed to users if they edit compilers.yaml and use an overly specific name.
2020-02-21sundials: add version 5.1.0 and trilinos variant (#15155)Cody Balos1-5/+50
* sundials: add version 5.1.0 and trilinos variant * sundials: add version 5.1.0 and trilinos variant
2020-02-21Changes necessary to build lbann@develop (#15153)Robert Blake1-2/+3
* Necessary changes to get lbann develop to compile. * Reformatting for flake8 * More flake8 changes. * Removing redundant clara dependency.
2020-02-21shtools: New package (#15133)Erik Schnetter1-0/+47
* shtools: New package * shtools: Convert to MakefilePackage, use Spack's generic compiler flags * shtools: Make function location explicit
2020-02-21Add extra version of py-jsonschema (#14993)iarspider2-3/+34
* Add extra version of py-jsonschema * Update dependencies * Update dependencies + flake8 * Add py-pyrsistent package * Update package.py * Update var/spack/repos/builtin/packages/py-jsonschema/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update package.py * Update package.py * Apply suggestions from code review Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Apply suggestions from code review Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-21amrex: New version 20.02 (#15132)Erik Schnetter1-0/+1
2020-02-21Updating raja versions. (#15148)Robert Blake1-0/+3
2020-02-21Add clang compiler (#15152)Tim Haines1-0/+2