summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2015-11-28Add a cleaned up repo command.Todd Gamblin1-64/+75
2015-11-28Integrate namespace attribute into spec, spec DAG, spec YAML.Todd Gamblin6-35/+125
2015-11-26Add tests for importing packages directly.Todd Gamblin1-2/+40
Added test for, e.g.: import spack.pkg.builtin.mock.mpich import spack.pkg.builtin.mock.mpich as mpich from spack.pkg.builtin.mock.mpich import Mpich Among others. These ensure that direct package imports work so that packages can be extended.
2015-11-26New, cleaner package repository structure.Todd Gamblin3-61/+134
Package repositories now look like this: top-level-dir/ repo.yaml packages/ libelf/ package.py mpich/ package.py ... This leaves room at the top level for additional metadata, source, per-repo configs, indexes, etc., and it makes it easy to see that something is a spack repo (just look for repo.yaml and packages).
2015-11-25Rename spack.db -> spack.repoTodd Gamblin43-103/+103
Making distinction between install database and package repositories clearer.
2015-11-25Rename packages.py to repository.py, PackageFinder to RepoPath.Todd Gamblin9-128/+25
2015-11-22Working PackageFinder / RepoTodd Gamblin9-160/+329
2015-11-12Fix and move NamespaceTrie to spack.util.namingTodd Gamblin4-42/+154
- fix up routines in namespace trie. - trie can now hold intermediate elements. - trie now has a test case.
2015-11-12Small fix to prevent this test from interfering with others.Todd Gamblin1-17/+22
2015-11-12Merge branch 'develop' into mplegendre-multi_pkgsrc_rootsTodd Gamblin37-172/+2076
Conflicts: lib/spack/spack/__init__.py lib/spack/spack/directives.py lib/spack/spack/packages.py
2015-11-04Fix SPACK-93, SPACK-94, GitHub #150Todd Gamblin4-21/+18
- `remove_prefix` was modified to remove from the DB, but the package may not have been added to the DB yet when `remove_prefix` is called from `cleanup`. - Made `remove_prefix` a pure utility function (it just removes the prefix) - Added `installed_db.remove()` call only after the `remove_prefix` in `uninstall`.
2015-11-04Make architecture reflect OS *and* machine. Use Python's platform module.Todd Gamblin1-11/+8
2015-10-30Fixed typo : write_lock() -> write_transaction()Massimiliano Culpo3-3/+3
2015-10-29Merge Greg Becker's build database support into develop.Todd Gamblin22-139/+1641
2015-10-29Merge pull request #124 from scheibelp/features/testinstall-cmdTodd Gamblin6-3/+350
Features/testinstall cmd
2015-10-29Merge pull request #145 from markcmiller86/v-char-bugfixTodd Gamblin1-2/+2
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29Merge pull request #139 from mathstuf/use-uname-for-archTodd Gamblin1-10/+10
architecture: use uname if available
2015-10-27generalize one of the cases to handle many more kinds of formatting optionsmiller861-2/+2
2015-10-27Build database working with simple transaction support; all tests passing.Todd Gamblin12-230/+645
2015-10-27Fix stupid lock bug.Todd Gamblin3-41/+53
- Code simplification ignored case where exception was raised. - If LockError was raised, read and write counts were incremented erroneously. - updated lock test.
2015-10-27Not all package stages have an archive file (e.g. source code repos) but all ofPeter Scheibel1-1/+1
them do have a source_path: use this instead to check whether the package resources were successfully retrieved.
2015-10-27Lock acquires return True/False depending on whether they got POSIX lock.Todd Gamblin1-4/+15
2015-10-26architecture: remove custom mac_type methodBen Boeckel1-13/+0
2015-10-26architecture: use uname if availableBen Boeckel1-1/+14
2015-10-26Fetch errors were also terminating runs of test-install with system exit, soPeter Scheibel3-1/+10
stage.fetch() was updated to raise a FetchError instead of calling tty.die(). Output is the same for spack install in case of a fetch error.
2015-10-26python: use the setdefault method on dictBen Boeckel3-16/+7
It allows more concise code and skips some key lookups.
2015-10-26Making SpackError reference consistent.Peter Scheibel1-2/+1
2015-10-26Automatically create a 'test-output' directory in the current directory if noPeter Scheibel1-1/+4
output path is specified. Test output files are placed in this directory. Furthermore the filenames now have the prefix "test" (but otherwise are the string representation of the spec ID as before).
2015-10-24Working Lock class, now uses POSIX fcntl locks, extensive unit test.Todd Gamblin3-84/+350
- llnl.util.lock now uses fcntl.lockf instead of flock - purported to have more NFS compatibility. - Added an extensive test case for locks. - tests acquiring, releasing, upgrading, timeouts, shared, & exclusive cases.
2015-10-24Add a multiprocess Barrier class to use for testing parallel code.Todd Gamblin1-1/+49
2015-10-23The HTML number conversion regex operating against a byte string will onlyPeter Scheibel1-1/+2
convert individual bytes, so therefore incorrectly converts utf-8 encoded characters. Decoding byte strings to unicode objects results in correct HTML number encodings.
2015-10-231. Rename CommandError -> InstallErrorPeter Scheibel2-5/+7
2. InstallError now subclasses SpackError vs. StandardError (so it is now handled by the spack shell script)
2015-10-221. Added CommandError exception to build_environmentPeter Scheibel2-15/+28
2. The parent of a failed child process in build_environment.fork no longer calls sys.exit - instead it raises a CommandError (from [1]) 3. test-install command now attempts to install all packages even if one fails
2015-10-22Generate test results (designated as skipped) for parents of failed dependenciesPeter Scheibel2-24/+45
2015-10-21Merge pull request #129 from mathstuf/separate-prefixTodd Gamblin1-6/+8
spack: split spack_root from prefix
2015-10-18Add Spack logo.Todd Gamblin1-3/+3
2015-10-17Better info variant output.Todd Gamblin1-3/+13
2015-10-15Created unit test for core logic in test-install command.Peter Scheibel3-12/+145
2015-10-15Better description for test-install commandPeter Scheibel1-1/+1
2015-10-15Minor edit for clarity (generate output for single top level spec vs. iteratingPeter Scheibel1-2/+1
through collection of size 1)
2015-10-15Originally I enforced specifying 1 top-level package with the test-installPeter Scheibel1-5/+4
command by having it consume exactly 1 positional argument (i.e. by removing "nargs=argparse.REMAINDER") but this does not work when configuring dependencies of a top-level package (which show up as additional positional args). Instead now there is an explicit check to ensure there is only 1 top-level package.
2015-10-151. Specifying the output file path for test-install is now an option (vs. anPeter Scheibel2-12/+22
argument). The default path is [package id].xml in the CWD where test-install is called from. 2. Fixed a bug with package.build_log_path (which was added in this branch). 3. keep_stage for package.do_install is now set. This allows uninstalling and reinstalling packages without (re) downloading them.
2015-10-15Move logic for tracking the build log into package.py (since that is what isPeter Scheibel2-9/+10
managing the build log) and expose as package.build_log_path.
2015-10-15Update test failure output: don't include the entire build log, just lines whichPeter Scheibel1-5/+10
mention errors (or if no such lines can be found, output the last 10 lines from the log).
2015-10-15Use spec.traverse vs. recursive function.Peter Scheibel1-20/+16
Also even though I calculated which installs are new (e.g. vs. packages that have already been installed by a previous command) I forgot to make use of that in create_test_output (so I was always generating test output even if a package had been installed before running the test-install command). Note to avoid confusion: the 'handled' variable (removed in this commit) did not serve the same purpose as 'newInstalls': it was originally required because the recursive approach would visit the same dependency twice if more than one package depended on it.
2015-10-15Always run with verbose output (so eliminate it as an option). Also remove otherPeter Scheibel1-22/+1
commented options.
2015-10-15Changing name of file requires changing function name to be invoked as a commandPeter Scheibel1-1/+1
2015-10-15Change name of file to conform to conventions.Peter Scheibel1-0/+0
2015-10-15Edit function names to conform to naming conventions.Peter Scheibel1-7/+7
2015-10-15Only install 1 top-level package with testinstall. Otherwise if multiplePeter Scheibel1-10/+6
packages are specified and a prior one fails, it will prevent any of the others from succeeding (and generating test output) even if they don't share dependencies.