Commit graph

199 commits

Author SHA1 Message Date
Todd Gamblin
93e288859a Simpler prefix args. 2014-01-06 14:14:57 +01:00
Todd Gamblin
5f2feac92c Remove install methods from mock packages (not needed) 2014-01-06 11:05:58 +01:00
Todd Gamblin
df0c1134c9 SPACK-14: Bugfix in Spec.normalize()
- Normalize now updates the provider index as it addes package dependencies.
- Fixes problem where this breaks:

  a depends_on mpi
  a depends_on b
  b depends_on mpich

- Packages now restrict the mpi dependency to mpich
2014-01-06 09:25:51 +01:00
Todd Gamblin
d0b82d291f Change deps on 'mpich' to 'mpi' 2014-01-04 14:44:16 -08:00
Todd Gamblin
b579ba213d More packaging documentation 2014-01-04 14:43:44 -08:00
Todd Gamblin
30d3b32085 Bug fix in how class names are determined 2014-01-03 11:43:29 -08:00
Todd Gamblin
208db9b002 More packaging documentation. 2013-12-26 13:47:13 -08:00
Todd Gamblin
a4cda94524 install() now takes spec AND prefix 2013-12-25 17:19:51 -08:00
Todd Gamblin
0cd5866eea Some fixes recommended by PyCharm 2013-12-25 15:40:32 -08:00
Todd Gamblin
4ff8766a22 Starting on packaging docs. 2013-12-25 15:30:42 -08:00
Todd Gamblin
354c8a281b make create and checksum consistent.
- create now searches and prompts for checksums.
- makes package creation easier
2013-12-24 00:57:56 -08:00
Todd Gamblin
2f1eae8c0d spack checksum works. 2013-12-23 16:12:02 -08:00
Todd Gamblin
db32769347 spack edit fixed. 2013-12-23 14:01:10 -08:00
Todd Gamblin
7267734a5b Spack create works again w/new package format. 2013-12-23 12:09:19 -08:00
Todd Gamblin
358bfdaaf1 Another multimethod test for vdeps 2013-12-23 10:28:50 -08:00
Todd Gamblin
87dc2151b7 constrain() now consistent with satisfies()
- Added checks to constrain() so that it is consistent with satisfies()
- Added many more test cases for satisfiability and constraints on deps
- Virtual packages are handled properly in satisfies() and constrain()
	- bugfix: mpileaks^mpich2 would satisfy mpileaks^mpi@3:
	- this case is now handled.
2013-12-23 10:19:55 -08:00
Todd Gamblin
7088cdf25f Fix for SPACK-13, and satisfies() now handles deps.
Added more test cases for multimethods.  In doing so, (re)discovered that
satisfies() really needs to handle dependencies properly.

Implemented support for dependencies in satisfies, but constrain() now
isn't consistent (as we do not currently constrain deps), so need to
implement that.

Virtual dependency support probably needs some deeper thought.  i.e.,
there is probably an intermediate DAG form that would make the needed
checks easier.  Right now we have to build ProviderIndexes to figure out
how virtual dependencies are set up.  If the vdep were preserved in the DAG,
then we could just check for things like incompatible providers directly.
2013-12-22 17:55:58 -08:00
Todd Gamblin
f7706d231d SPACK-2: Multimethods for specs.
- multi_function.py -> multimethod.py
- Added @when decorator, which takes a spec and implements matching for method dispatch
- Added multimethod unit test, covers basic cases.
2013-12-21 17:19:05 -08:00
Todd Gamblin
99b05fd571 More docs. 2013-12-21 15:32:34 -08:00
Todd Gamblin
dfd0440a7e Color tweaks for find. 2013-12-21 15:30:35 -08:00
Todd Gamblin
a63482be73 Docs for spack find 2013-12-21 15:30:35 -08:00
Todd Gamblin
88017ec49e Made formatting specs easier with format() syntax.
- Replaced existing str_no_deps() function with more flexible format() function.
- Spec.tree() can take a format argument now, as well.
2013-12-21 15:30:35 -08:00
Todd Gamblin
e645bb065a SPACK-1: Multi-version installation now works front to back with specs. 2013-12-21 15:30:10 -08:00
Todd Gamblin
af639dca16 Make dirty installs part of package lifecycle 2013-12-18 11:42:56 -08:00
Todd Gamblin
c7beac295d More on installing with virtual packages 2013-12-18 11:36:55 -08:00
Todd Gamblin
256c42a34c Added a target to upload docs automatically. 2013-12-18 11:18:11 -08:00
Todd Gamblin
7be511a352 Finished basic usage. 2013-12-18 11:02:31 -08:00
Todd Gamblin
c9e40b725d Start of basic documentation 2013-12-12 04:25:31 -08:00
Todd Gamblin
c7539fe950 Better info command. 2013-12-12 01:04:32 -08:00
Todd Gamblin
7575f99bea Documentation skeleton 2013-12-09 20:17:08 -08:00
Todd Gamblin
9ef471420d Tweak for help output 2013-12-09 20:14:47 -08:00
Todd Gamblin
8d51c95e68 use get instead of setdefault for kwargs. 2013-12-09 10:44:46 -08:00
Todd Gamblin
936f54761b type(foo) == bar -> isinstance(foo, bar)
Changed type checks in most places.
2013-12-09 00:47:17 -08:00
Todd Gamblin
fa2e8dab11 Additional circular reference checking 2013-12-08 21:38:37 -08:00
Todd Gamblin
e0c029c347 Fixes for virtual packages.
- Added more tests
- cleaned up spec preorder traversal
- fixed concretization
2013-12-08 19:26:29 -08:00
Todd Gamblin
90f2154a32 Better test output -- include totals. 2013-12-07 15:16:09 -08:00
Todd Gamblin
87fedc7e1e Added support for virtual dependencies ("provides") 2013-12-07 13:51:46 -08:00
Todd Gamblin
344e902b15 More stage tests. 2013-12-01 23:57:07 -08:00
Todd Gamblin
ff2018bc85 Reworked stage paths to allow %u for username. Added stage test. 2013-11-24 14:06:11 -08:00
Todd Gamblin
3de3efc75d Gracefully handle lack of network connection. 2013-11-23 21:01:07 -08:00
Todd Gamblin
1247036141 Generalize package relations like depends_on, provides, conflicts.
All of these do the same thing.  So they are all now generalized
to a single closure function; just the name of the updated variable
in the package is different.
2013-11-23 15:46:04 -08:00
Todd Gamblin
6cf6eac3de Move concretization into its own class.
Allows easy overriding of a single policy.
2013-11-23 15:18:43 -08:00
Todd Gamblin
f31aaeed98 Cleanup and comments. 2013-11-23 14:55:09 -08:00
Todd Gamblin
2dff2f3341 Fix virtual method. 2013-11-23 13:43:59 -08:00
Todd Gamblin
389fa1792d Added web spider capability for listing versions. 2013-11-23 13:04:36 -08:00
Todd Gamblin
fe7da0dcff Update libdwarf URL. 2013-11-20 14:43:17 -07:00
Todd Gamblin
b5c565891f First cut concretization works, with tests.
Mock packages now all have their own version lists.
2013-10-26 14:04:09 -07:00
Todd Gamblin
7bdf93234a Added unit tests for spec normalization. 2013-10-18 16:39:09 -07:00
Todd Gamblin
481a617d65 spack test runs all tests by default
'spack test -a' formerly ran all test and 'spack test' listed available tests.
Now, 'spack test' runs all tests and 'spack test -l' lists available ones.
2013-10-17 14:53:40 -07:00
Todd Gamblin
558cf7e406 spec flatten, normalize, validate; package validate
New operations for manipulating spec and package DAGs.

For specs:
	flatten:   gather all deps to the root
	normalize: Merge constraints and make spec match package DAG

For packages:
	validate_dependencies: Make sure spec constraints in package DAG are sane.

Added tests for above methods.  Also added beginnings of concretization logic,
to turn abstract spec into a concrete one.

Still need proper tests for normalize().
2013-10-17 14:46:00 -07:00