Gregory Becker
6f339939c4
Removed "any-pkg-name" and replaced it with empty string. Also changed cflag concretizer to concretize each flag individually, allowing us to have unconcretized FlagMap objects for find and uninstall. Now empty flags in find match any, whereas specifying +cflags=\'\' matches only those with empty strings for flags
2015-11-10 15:45:22 -08:00
Gregory Becker
6fa0bb991a
Removed cflags from default format string and made them an option within the compiler string. Added -f option to find command; with -f, find prints flags
2015-11-10 15:45:22 -08:00
Gregory Becker
5a9394c65f
added default compilers into spec and fixed constrain/concretize bug
2015-11-10 15:45:22 -08:00
Gregory Becker
cb5bc242db
Changed flag default to "". Updated printing and other logic to match. Seems to have solved error in normalize.
2015-11-10 15:45:22 -08:00
Gregory Becker
2d77173dfa
partial commit of cflags for debugging
2015-11-10 15:45:22 -08:00
Gregory Becker
42b5b7d2dd
Commit of compiler flags addition:
...
Flags are passed from the command line all the way through
build environments to environment variables.
Flags are specified using +name=value and values are quoted
using escaped quotes when necessary.
Future work includes using the flags in the compiler wrapper script
and hopefully updating the parser for a gentler user experience of
the spec language.
2015-11-10 15:45:22 -08:00
Gregory Becker
db1b21b9aa
reclaimed the = sign. Architectures now specified by +arch= instead. Decided to prepend flag names with + for clarity in spec names and ease of parsing. Also generalized variants, although there is not yet a way to specify a generalized (name=value) variant.
2015-11-10 15:45:22 -08:00
Gregory Becker
7989a7f903
Headless specs and /hash spec specification
2015-11-10 15:42:10 -08:00
Gregory Becker
f9c8c4d216
partial commit to merge database
2015-11-10 15:40:00 -08:00
Gregory Becker
4ed22ad932
partial commit of cflags work
2015-11-10 15:39:27 -08:00
Gregory Becker
08729315c6
Added bgq architecture subclass: may require additional functionality to support
2015-11-05 09:21:56 -08:00
Todd Gamblin
0d993947ee
Fix SPACK-93, SPACK-94, GitHub #150
...
- `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-04 16:44:33 -08:00
Mario Melara
b61d554dc8
Fixed architecture.py file so it doesn't have the weird merge changes i.e <<<HEAD etc. Also added target method of recognizing it's own architecture
2015-11-04 13:28:12 -08:00
Mario Melara
2bc73b4a27
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
2015-11-04 13:21:33 -08:00
Gregory Becker
3a73ae1683
Fixed the previous commit
2015-11-04 13:12:11 -08:00
Mario Melara
9bf8e8573c
generic linux architecture subclass
2015-11-04 13:08:48 -08:00
Mario Melara
e3a02ea5c7
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
...
Conflicts:
lib/spack/spack/architecture.py
2015-11-04 13:06:56 -08:00
Gregory Becker
35532d6b0a
Changed cray architecture subclass to add proper targets for front at back end nodes
2015-11-04 13:00:35 -08:00
Mario Melara
37260962e5
changed some potential syntax errors and added a way for target to recognize class
2015-11-04 12:57:29 -08:00
Gregory Becker
5ac974c9b2
Enforced that the architecture subclass cannot add a target that shares a name with a target alias
2015-11-04 12:50:22 -08:00
Todd Gamblin
339da1da3d
Make architecture reflect OS *and* machine. Use Python's platform module.
2015-11-04 07:46:17 -08:00
Mario Melara
058e72d29c
Added default target and also front end and back end targets
2015-11-02 11:08:55 -08:00
Mario Melara
eb2cf1698f
Fixed some issues with naming
2015-11-02 11:08:08 -08:00
Mario Melara
9a91da9ccd
Added arch_path to list of modules path
2015-10-30 15:59:28 -07:00
Mario Melara
e39586c81d
Reverted back all architecture way of finding modules
2015-10-30 15:58:49 -07:00
Mario Melara
2d87bb92ed
Changed front-end and back-end to front_end and back_end to avoid error
2015-10-30 15:58:20 -07:00
Mario Melara
db0695e46a
architectures folder where the Architecture subclasses reside
2015-10-30 15:57:00 -07:00
Gregory Becker
6e56070386
improved aliasing in target method in architecture.py
2015-10-30 15:15:36 -07:00
Gregory Becker
d177184777
added target method to architecture.py and minor cleanup
2015-10-30 15:12:29 -07:00
Mario Melara
0a004e0fce
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
...
Merge Gregory Becker's commits with my own architecture commits
2015-10-30 14:53:49 -07:00
Mario Melara
7ab921ff02
Changed architecture class and added class Target
2015-10-30 14:46:26 -07:00
Gregory Becker
382d8478bf
prototype of new architecture concretization saved as new_concretize_architecture in concretize.py
2015-10-30 10:23:33 -07:00
Gregory Becker
09597fe8dc
updated the executible to return stderr when specified. Added load_module to build_environment.py, loads target
2015-10-30 09:44:28 -07:00
Massimiliano Culpo
6db2a58008
Fixed typo : write_lock() -> write_transaction()
2015-10-30 07:42:58 +01:00
Todd Gamblin
a1c42c2753
Merge Greg Becker's build database support into develop.
2015-10-29 02:22:20 -07:00
Todd Gamblin
671faa4b99
Merge pull request #124 from scheibelp/features/testinstall-cmd
...
Features/testinstall cmd
2015-10-29 00:16:52 -07:00
Todd Gamblin
ed0c80e1cb
Merge pull request #145 from markcmiller86/v-char-bugfix
...
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29 00:02:01 -07:00
Todd Gamblin
fec6674597
Merge pull request #139 from mathstuf/use-uname-for-arch
...
architecture: use uname if available
2015-10-29 00:01:30 -07:00
miller86
21e9d5c5c3
generalize one of the cases to handle many more kinds of formatting options
2015-10-27 17:05:27 -07:00
Todd Gamblin
a58ae0c5d0
Build database working with simple transaction support; all tests passing.
2015-10-27 16:36:44 -07:00
Todd Gamblin
bf8479bec6
Fix stupid lock bug.
...
- Code simplification ignored case where exception was raised.
- If LockError was raised, read and write counts were incremented erroneously.
- updated lock test.
2015-10-27 16:34:26 -07:00
Peter Scheibel
50d0a2643b
Not all package stages have an archive file (e.g. source code repos) but all of
...
them do have a source_path: use this instead to check whether the package
resources were successfully retrieved.
2015-10-27 13:34:46 -07:00
Todd Gamblin
af7b96c14a
Lock acquires return True/False depending on whether they got POSIX lock.
2015-10-27 00:35:06 -07:00
Ben Boeckel
6c9b10f73d
architecture: remove custom mac_type method
2015-10-26 18:55:10 -04:00
Ben Boeckel
17a58ee0a9
architecture: use uname if available
2015-10-26 18:54:04 -04:00
Peter Scheibel
3b554c709b
Fetch errors were also terminating runs of test-install with system exit, so
...
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-26 15:26:08 -07:00
Ben Boeckel
9d90cb6962
python: use the setdefault method on dict
...
It allows more concise code and skips some key lookups.
2015-10-26 17:38:19 -04:00
Peter Scheibel
9576860f8c
Making SpackError reference consistent.
2015-10-26 14:27:44 -07:00
Peter Scheibel
6a16040462
Automatically create a 'test-output' directory in the current directory if no
...
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-26 11:58:52 -07:00
Todd Gamblin
ead8ac58c6
Working Lock class, now uses POSIX fcntl locks, extensive unit test.
...
- 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-24 19:57:43 -07:00
Todd Gamblin
908a93a470
Add a multiprocess Barrier class to use for testing parallel code.
2015-10-24 19:54:52 -07:00
Peter Scheibel
cc0ee3dc29
The HTML number conversion regex operating against a byte string will only
...
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-23 20:56:06 -07:00
Peter Scheibel
d76c923623
1. Rename CommandError -> InstallError
...
2. InstallError now subclasses SpackError vs. StandardError (so it is now
handled by the spack shell script)
2015-10-23 16:18:06 -07:00
Peter Scheibel
ea872f8098
1. Added CommandError exception to build_environment
...
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-22 17:44:16 -07:00
Peter Scheibel
246423b4b4
Generate test results (designated as skipped) for parents of failed dependencies
2015-10-22 16:00:03 -07:00
Mario Melara
38508c5a3f
Created a control flow logic that will loop through the strategies and find compilers using that. TODO: Need to find a way to locate their executables
2015-10-22 12:02:26 -07:00
Todd Gamblin
b6833f08df
Merge pull request #129 from mathstuf/separate-prefix
...
spack: split spack_root from prefix
2015-10-21 16:04:36 -04:00
Mario Melara
a89abb435f
Changed structure of class, add compiler strategy is a method and can create a dict
2015-10-21 11:32:59 -07:00
Mario Melara
9b387e7682
Added strategy method in init
2015-10-21 11:09:05 -07:00
Gregory Becker
51b69ef00b
initial fetch on crayport
2015-10-21 09:27:57 -07:00
Mario Melara
c31da9bc8f
Made sure architecture works with yaml file
2015-10-20 14:10:54 -07:00
Mario Melara
ca3cc5b23e
Refactored architecture class. Now it will automagically create a dict upon instantiation.
2015-10-20 13:37:06 -07:00
Mario Melara
3ba2842b53
Got Architecture class working the way i wanted to. Next to write tests
2015-10-20 13:33:21 -07:00
Todd Gamblin
3c788147ca
Add Spack logo.
2015-10-18 19:14:40 -07:00
Todd Gamblin
7598612b86
Better info variant output.
2015-10-17 17:34:39 -07:00
Peter Scheibel
39f0f000f8
Created unit test for core logic in test-install command.
2015-10-15 22:02:14 -07:00
Peter Scheibel
6cd976d036
Better description for test-install command
2015-10-15 20:13:08 -07:00
Peter Scheibel
49b91235bb
Minor edit for clarity (generate output for single top level spec vs. iterating
...
through collection of size 1)
2015-10-15 19:59:57 -07:00
Peter Scheibel
82ed1bc343
Originally I enforced specifying 1 top-level package with the test-install
...
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-15 19:38:47 -07:00
Peter Scheibel
e451421db3
1. Specifying the output file path for test-install is now an option (vs. an
...
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-15 19:22:36 -07:00
Mario Melara
fec197ccac
Fixed the output of sys_type(), might need to add back the error handling part
2015-10-15 15:25:13 -07:00
Mario Melara
ccdf105759
Commented out a long list of tests to just include my arch test
2015-10-15 12:48:12 -07:00
Mario Melara
d328f4c3b6
Test suite for architecture class and functions
2015-10-15 12:47:26 -07:00
Mario Melara
29e03ac851
Added __eq__ testing method. Created tests for it in test/ folder
2015-10-15 12:46:44 -07:00
Peter Scheibel
4997f0fe57
Move logic for tracking the build log into package.py (since that is what is
...
managing the build log) and expose as package.build_log_path.
2015-10-15 12:44:02 -07:00
Peter Scheibel
c985ad7644
Update test failure output: don't include the entire build log, just lines which
...
mention errors (or if no such lines can be found, output the last 10 lines from
the log).
2015-10-15 12:23:56 -07:00
Peter Scheibel
b9bf0b942c
Use spec.traverse vs. recursive function.
...
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-15 11:52:08 -07:00
Peter Scheibel
f2b4341ad6
Always run with verbose output (so eliminate it as an option). Also remove other
...
commented options.
2015-10-15 10:45:03 -07:00
Peter Scheibel
11861fb8d7
Changing name of file requires changing function name to be invoked as a command
2015-10-15 10:35:42 -07:00
Peter Scheibel
e3d703b80f
Change name of file to conform to conventions.
2015-10-15 10:33:39 -07:00
Peter Scheibel
2ae7839b66
Edit function names to conform to naming conventions.
2015-10-15 10:26:13 -07:00
Peter Scheibel
0d66362cee
Only install 1 top-level package with testinstall. Otherwise if multiple
...
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.
2015-10-15 10:17:08 -07:00
Ben Boeckel
3ce85b2270
spack: split spack_root from prefix
...
A foundation for allowing runtime configuring of the prefix.
2015-10-15 09:27:05 -04:00
Mario Melara
4f21344e87
Started created the Architecture class for Spack to use
2015-10-14 19:41:07 -07:00
Peter Scheibel
71dcf8833c
Make sure to generate output for dependencies as if they were separate tests:
...
the original intent was to generate output as if each package was a unit test,
but I noticed that I was only generating test output for top-level packages.
2015-10-13 19:02:41 -07:00
Peter Scheibel
1ce6d8b627
Add spec YAML format to test output.
2015-10-13 10:41:47 -07:00
Todd Gamblin
d16095c856
Add forgotten file from previous commit.
2015-10-13 10:35:19 -07:00
Peter Scheibel
9f56d9c807
Don't create test output for any package that was already installed.
2015-10-12 20:56:03 -07:00
Peter Scheibel
6cd22e5786
1. Added Junit XML format
...
2. Specify output to a file vs. a directory
3. Use [1] and [2] to write an XML file tracking success of package installs in
Junit XML format
2015-10-12 20:49:23 -07:00
Peter Scheibel
b7249d66b3
Adding command testinstall. See "spack testinstall -h" for documentation.
...
Still need to add output formatting (in a commonly parse-able format like Junit
or TAP). May want to adjust how the build log is accessed in case of a build
failure.
2015-10-12 19:18:31 -07:00
Todd Gamblin
2c81875019
Fix bug in colify color handling.
2015-10-12 14:44:41 -07:00
Mario Melara
b6d2a12ceb
Started changing the find in modules method written by Todd
2015-10-07 15:57:29 -07:00
Mario Melara
06fe879745
Merge branch 'features/crayproto' of https://github.com/scalability-llnl/spack into develop
2015-10-07 14:55:05 -07:00
Matthew LeGendre
fac4428766
Documentation for external packages.
2015-10-05 14:04:33 -07:00
Matthew LeGendre
18f0b24a7f
Add tests for spack external dependencies, plus fixes for issues found by those tests.
2015-10-05 11:37:36 -07:00
Matthew LeGendre
e4d2ba30b5
Fix failure in spack.test.config.ConfigTest from incorrect compiler config merging
2015-10-05 11:37:36 -07:00
Matthew LeGendre
650c9d4e36
Allow spack to build against external non-spack-installed packages.
2015-10-05 11:37:36 -07:00
Matthew LeGendre
53d70fff01
Fix type error with YAML config when merging lists from different configs.
2015-10-05 11:36:06 -07:00
Matthew LeGendre
53cde110b1
Update Spack mirror command to match docs
2015-10-05 11:36:06 -07:00
Matthew LeGendre
987cd9e78f
Update docs for YAML configuration files and preferred concretization
2015-10-05 11:36:06 -07:00
Matthew LeGendre
ee68a76a19
Bug fixes from testing spack preferred packages
2015-10-05 11:36:06 -07:00
Matthew LeGendre
8d7b7e5d5d
Use preferred package rules when concretize'ing specs
2015-10-05 11:36:06 -07:00
Matthew LeGendre
b5c597b318
Allow specs to be sorted based on preferred packages, versions, compilers, variants and dependencies.
2015-10-05 11:36:05 -07:00
Matthew LeGendre
59f89dd3be
Allow long names in format string variables
2015-10-05 11:36:05 -07:00
karenyyng
f4e72f33c8
added dependencies for py-h5py
2015-10-05 08:24:33 -07:00
Todd Gamblin
d00314c621
Protptype cray compiler detection and support
2015-10-05 01:30:25 -07:00
karenyyng
e9f7d033ff
make sure submodule is added in the correct location
2015-10-03 19:13:08 -07:00
Gregory Becker
5fda7daf57
an ordered database test
2015-09-27 17:54:24 -07:00
Todd Gamblin
8818f4ac5e
Remove enabled variants from install prefix.
...
- these make the prefix too long in many cases.
- users can figure out which install is which by querying.
2015-09-27 17:01:35 -07:00
Todd Gamblin
adbd393c39
Remove special characters (@, %, +, ~, etc) from stage name
2015-09-27 17:01:35 -07:00
Todd Gamblin
d0e22b2240
Add ref counting to database. This does not handle removal properly yet.
2015-09-18 11:40:05 -07:00
Todd Gamblin
fb73979345
Allow custom timeout for database locking.
2015-09-17 16:09:59 -07:00
Todd Gamblin
e17ad6a684
Simplify lock context managers.
2015-09-17 01:05:19 -07:00
Todd Gamblin
6dff42be09
WIP for Matt's branch
2015-09-17 00:21:33 -07:00
Todd Gamblin
ccf311c9c6
Several changes to DB implementation.
...
1. Database stores a file version, so we can add to it in the future.
2. Database indexed by hashes and not numerical indexes.
3. Specs built by database have consistent hashes and it's checked.
4. minor naming and whitespace changes.
2015-09-17 00:16:12 -07:00
Gregory Becker
cd23d2eaa2
Added spack fsck and re-read from glob if the database file does not exist. Allows older versions to smoothly upgrade to the database.
2015-09-15 14:20:19 -07:00
Gregory Becker
9c8e46dc22
Added conservative locking to the spack commands that access the database at _index
2015-09-03 09:21:19 -07:00
Gregory Becker
c3246ee8ba
Removed incorrect stage removal code from cleanup() in do_install()
2015-08-31 09:46:55 -07:00
Gregory Becker
f406fcb843
Fixed several issues from code review
...
Most importantly wrote the Lock, Read_Lock_Instance, and Write_Lock_Instance classes in lock.py
Updated the locking in database.py
TODO: Lock on larger areas
2015-08-31 09:38:38 -07:00
Todd Gamblin
c5c9ada7b0
Fix for GitHub #95
...
develop: compiler clang@unknown created for /usr/bin/clang-format
https://github.com/scalability-llnl/spack/issues/95
2015-08-27 02:04:58 -07:00
Gregory Becker
9345e78779
Fixed inaccurate comment in spec.py
2015-08-25 16:31:09 -07:00
Gregory Becker
ce8df65d7b
Eliminated unnecessary differences in pull request
2015-08-25 16:28:55 -07:00
Gregory Becker
e32c59f805
Fixed file locking. Fix is slightly ugly (lock integer added) but it gets the job done
...
It avoids having to spin simply on the OSError.
2015-08-25 15:32:45 -07:00
Gregory Becker
4a2bd1753a
Added dependency indices to database, ensuring correctly reconstructed specs from database
...
Began work on file locking, currently commented out.
2015-08-25 15:11:18 -07:00
Todd Gamblin
360b307f68
Save progress. import gov.llnl.spack.mpich works.
2015-08-24 09:14:16 -07:00
Gregory Becker
fb1874165b
Eliminated all calls that relied on finding all packages in the opt directory
...
Replaced them all with references to the database
Implemented caching in the database. The database now only re-reads data
if the database file exists and was changed since this file last wrote to it.
Added the installed_db field to the spack instance
Left the call to all_specs from testdirectory_layout.py for now.
2015-08-21 17:00:39 -07:00
Gregory Becker
55f68bb2b0
Added hashes to the database
2015-08-21 13:04:27 -07:00
Gregory Becker
1da56e5290
Added a database of installed packages.
...
No methods use the database so far.
Also, a bug fix:
Previous version did not remove the staging directory on a failed install
This led to spack refusing to uninstall dependencies of the failed install
Added to cleanup() to blow away the staging directory on failed install.
2015-08-21 11:32:12 -07:00
Todd Gamblin
a2f2e6a4ff
Save changes to external repo integration
2015-08-16 12:54:02 -07:00
Todd Gamblin
92f398a897
Better @memoized
decorator.
2015-08-16 12:50:39 -07:00
Todd Gamblin
da98b07624
Add more options to spack edit
2015-08-16 12:50:39 -07:00
Matthew LeGendre
e58ee88a63
Add 'spack packagerepo create' command
2015-08-16 12:50:39 -07:00
Matthew LeGendre
7ea328659f
Record package repo origins in .spec files
2015-08-16 12:50:39 -07:00
Matthew LeGendre
c7b8d09c7f
Add packagerepos to spack, allowing for creating multiple package repositories.
2015-08-16 12:48:32 -07:00
Todd Gamblin
6f75f5bd6a
Merge pull request #88 from trws/git_depth_attempt
...
adding a fallback on failure with git --depth
2015-08-12 23:59:13 -07:00
Todd Gamblin
1792115b4d
Use absolute paths to spack compiler wrappers in CC/CXX/F77/FC
2015-08-04 09:57:06 -07:00
Tom Scogland
9174c06598
adding a fallback on failure with git --depth
...
Certain remote protocols don't support the `--depth` option. Since this can't
be checked by URL type or in any sane way locally, this version attempts to
clone git repositories with the --depth option, and if that fails attempts the
clone again without it.
2015-07-27 14:03:04 -07:00
Todd Gamblin
27ca697b43
Add Python version test to detect {} in version strings.
...
- {} is not compatible with Python 2.6
2015-07-24 14:22:28 -07:00
Todd Gamblin
1e2f421faa
Fix Python 2.6 compatibility issue.
2015-07-23 17:01:55 -07:00
Todd Gamblin
19123b4c48
Fix ProviderIndex.update(), which didn't remove stale providers.
2015-07-16 01:41:11 -07:00
Todd Gamblin
e097696390
Update concretize to check for more changes and iterate further.
2015-07-16 01:12:11 -07:00
Todd Gamblin
9087f26537
Fix mangled error message.
2015-07-14 23:59:03 -07:00
Todd Gamblin
0d308ca30f
Fix regression of install -j.
2015-07-14 23:45:58 -07:00
Todd Gamblin
9d1f8f6bfd
Add test to check packages for Python2.6 compatibility, as well as core.
2015-07-13 18:37:48 +00:00
Florent Pruvost
5acd7cad9a
add env. var. in modules: LIBRARY_PATH and PKG_CONFIG_PATH
2015-07-02 02:12:10 -07:00
Todd Gamblin
6892d7189f
Merge branch 'features/toggle-build-output' into develop
2015-07-02 00:51:03 -07:00
Todd Gamblin
b3e34be972
Better python template for 'spack create'
2015-07-02 00:39:33 -07:00
Todd Gamblin
edfcac32c3
Fix bug in uninstall (regression in 0fc3b58
)
2015-06-20 21:46:52 -07:00
Todd Gamblin
6ed5dd7427
log_output now allows echo to be toggled wtih 'v' key
2015-06-20 20:20:28 -07:00
Todd Gamblin
cfb883646f
Fix for git pull --tags
when using git 1.7.1
...
- Added `ignore_errors` option to `Executable.__call__`
- Can avoid raising errors on *specific* error return values.
2015-06-13 17:52:00 -07:00
Tom Scogland
0b5ca25358
Fix for repos with many tags
...
Ensures all tags are ready before checkout, using `--branch` if possible and
an extra pull if that is not available. Also adds `--depth 1` to create
shallow clones if the git version is sufficient.
Fixes #64 .
2015-06-13 15:29:55 -07:00
Tom Scogland
277df08676
removing vestigial lines from a previous commit
2015-06-13 14:10:45 -07:00
Tom Scogland
d92ac2a6b2
Small ruby enhancement and tmuxinator package
...
It is currently less painful to pull the source from github, compile it into a
gem, then install the gem, than it is to download a gem and install it. This
still lacks an activation mechanism, but `spack use tmuxinator` is functional.
2015-06-11 13:51:53 -07:00
Todd Gamblin
0a92349f90
Try a little harder in concretize_version() -- concretize unsafe versions too.
...
- This can result in the user being prompted to download an unsafe
version.
- Avoids overly strict errors when something *could* be satisfiable
but we don't know about hte version.
2015-06-07 15:40:01 -07:00
Todd Gamblin
3f3ceb24c4
Add some comments b/c I didn't understand my own test.
2015-06-07 15:39:40 -07:00
Todd Gamblin
0fc3b58890
SPACK-38: Allow specs to be indexed by virtual dependencies.
...
- The following now work differently:
spec['mpi']
spec['blas']
This can return a spec for openmpi, mpich, mvapich, etc., EVEN if
the spec is already concretized. This means that in a package that
`depends_on('mpi')`, you can do `spec['mpi']` to see what it was
concretized to. This should simplify MPI and BLAS packages.
'mpi' in spec
'blas' in spec
Previously, if the spec had been concretized, these would be `False`
because there was not a dependency in the DAG with either of these
names. These will now be `True` even if the spec has been
concretized. So, e.g., this will print "YES"
s = Spec('callpath ^mpich')
if 'mpi' in spec:
print "YES"
- Similarly, this will be True:
Spec('mpich').satisfies('mpi')
- Because of the way virtual dependencies are currently implemented,
the above required some fiddling around with `package.py` so that it
would never call `Spec.__contains__` (and result in endless
recursion).
- This should be fixed by allowing virutal dependnecies to have their
own package class.
- This would allow a quicker check for vdeps, without a call to
`all_packages`.
- For the time being, `package.py` shouldn't call `__contains__`
2015-06-07 15:36:53 -07:00
Todd Gamblin
eb9859ce75
Executables now have a useful __str__ function.
2015-06-06 16:15:52 -07:00
Todd Gamblin
53feb12ea0
Cleanup and consolidate error handling
2015-06-06 15:50:01 -07:00
Todd Gamblin
5d7a6c0c46
Add FileFilter convenience class to llnl.util.filesystem.
2015-06-06 15:26:48 -07:00
Saravan Pantham
454d06c25c
Removed autosave files from previous commit.
2015-06-06 15:26:37 -07:00
Saravan Pantham
c174fe6199
Fixed BLAS and Lapack installations
2015-06-06 15:26:31 -07:00
Todd Gamblin
d19538af07
Fix #48 : Ignore hidden files when deciding how to stage.
...
- Expanding archvies like MAGMA 1.6.2 creates extra hidden files that
confuse Spack's staging mechanism.
- Added a special case to ignore hidden files when checking whether
the tarball exploded.
2015-06-01 10:25:58 -07:00
Todd Gamblin
123778dec2
Add -S/--stages option to spack cd/spack location.
...
- can now change dir to top-level stage
2015-06-01 09:56:35 -07:00
Todd Gamblin
16c2588635
Fix #46 : make(parallel=False) regression.
...
- Added some tests to make sure this stays in place.
2015-05-31 13:03:30 -07:00
Todd Gamblin
ea7b65e2f2
SPACK-69: spack install now logs build output to install directory.
...
- spack install suppresses build output by default.
- use install -v to show build output on the console too
- package.py uses log_output context to redirect output and log it to a file
- filters color codes out of output written to file
- optionally echos to the terminal
- YAML directory layout knows about its build log.
- can get path to install build log to from directory layout
- Package.install now copies the build log to $prefix/.spack/build.out
- Error message from failed install execution now includes build log location
2015-05-29 17:22:33 -07:00
Todd Gamblin
92c21d7134
debug instead of info logging in llnl.util.filesystem
2015-05-29 17:21:30 -07:00
Todd Gamblin
0035100186
SPACK-69: Add context manager to fork and log output in a with block.
2015-05-29 17:20:08 -07:00
Todd Gamblin
9b40d93fc2
Add ability to force color mode even if terminal is NOT a tty
2015-05-29 17:19:03 -07:00
Todd Gamblin
ceecd2ce41
Add ability to test whether tty verbose or debug is enabled.
2015-05-29 17:18:33 -07:00
Todd Gamblin
5676cb0dd1
Add spack find -L to show full hashes.
2015-05-28 17:13:57 -07:00
Todd Gamblin
8cbae642cc
Fix bug in spack edit -c
2015-05-28 17:13:23 -07:00
Todd Gamblin
6f8f1bf7af
Fix #34 : Spack doesn't stop when dep fails to build.
...
- Fixes regression introduced by #30
- Child process needs to exit on error
2015-05-27 20:27:48 -07:00
Todd Gamblin
c622337802
Remove redundancy: convert with closing(open(...))
to with open(...)
2015-05-18 17:11:03 -07:00
Todd Gamblin
f813d823a1
Merge branch 'features/optional-deps' into develop
...
This includes:
- Much better variant support (+debug/-debug)
- Optional dependency support (depends_on(... , when='<condition>')
- New config file format (YAML in ~/.spack)
- New Spec format (YAML in $prefix/.spack/spec.yaml)
2015-05-18 16:16:20 -07:00
Matthew LeGendre
46b91ddf57
YAML config files for compilers and mirrors
2015-05-18 16:01:21 -07:00
Todd Gamblin
09151785b3
SPACK-87: enable disabled git fetch tests.
2015-05-18 11:32:15 -07:00
Todd Gamblin
b2f46c703d
Fix SPACK-87: Tag checkout fails for older git versions.
2015-05-18 11:26:32 -07:00
Todd Gamblin
cd1ca36488
SPACK-41: More tests to ensure that constrain() reports changes.
2015-05-12 15:48:57 -07:00
Todd Gamblin
805122c789
SPACK-41: bugfix for nonconvergent normalize()
...
- constrain() wasn't reporting changes properly.
2015-05-12 14:52:46 -07:00
Todd Gamblin
095ff1cb4a
Add debug handler to print a stacktrace on Ctrl-C in debug mode.
2015-05-12 14:52:41 -07:00
Todd Gamblin
c44db0133f
Fix SPACK-41: Optional deps work with complex condition chains.
2015-05-12 11:45:48 -07:00
Todd Gamblin
cd5fa128c5
Work on SPACK-41: Optional dependencies work for simple conditions.
...
- Can depend conditionally based on variant, compiler, arch, deps, etc
- normalize() is not iterative yet: no chaining depends_ons
- really need a SAT solver, but iterative will at least handle
simple cases.
- Added "strict" option to Spec.satisfies()
- strict checks that ALL of other's constraints are met (not just
the ones self shares)
- Consider splitting these out into two methods: could_satisfy() and
satisfies()
- didn't do this yet as it would require changing code that uses
satisfies()
- Changed semantics of __contains__ to use strict satisfaction (SPACK-56)
- Added tests for optional dependencies.
- The constrain() method on Specs, compilers, versions, etc. now
returns whether the spec changed as a result of the call.
2015-05-12 09:56:59 -07:00
Todd Gamblin
ef9deeccd1
Merge branch 'features/yaml-spec' into features/optional-deps
2015-05-10 19:28:47 -07:00
Todd Gamblin
09fff39990
Merge remote-tracking branch 'origin/features/variants' into features/optional-deps
2015-05-10 18:59:56 -07:00
Todd Gamblin
13ff1a9bf6
Remove debug print in link_tree
2015-05-10 18:53:09 -07:00
Todd Gamblin
b4a26c496c
Better hash output in find.
2015-05-10 18:48:42 -07:00
Todd Gamblin
43e5465592
Fix bug in directory layout hidden files()
2015-05-10 17:56:27 -07:00
Todd Gamblin
3c49487424
Doc tweak.
...
- add LLNL release number to new RTD theme.
2015-05-10 13:11:03 -07:00
Todd Gamblin
25af6478c5
Fix SPACK-67: 'spack help stage' was broken.
...
- remove spurious mutually exclusive group from subparser.
2015-05-10 12:46:33 -07:00
Todd Gamblin
793b842f99
tests for variant concretization
2015-05-10 12:28:25 -07:00
Todd Gamblin
535c1fac87
SPACK-56: fix Variant concretization.
...
- Variant concretization is tricky:
- During concretization, a spec without variants (e.g., mpich) means
"don't care". So, Spec('mpich').satisfies('mpich+debug') is true
because it *could* still be built that way.
- After concretization, a spec without a particular variant means
"don't know", as that wasn't part of the spec, so the opposite
relationship is true. Assume 'spec' is already installed:
spec.satisfies('mpich+debug')
this is false beacuse the `debug` variant didn't exist when spec
was built, so we can't satisfy the explicit request for +debug.
2015-05-10 12:25:07 -07:00
Todd Gamblin
3b1898b8e4
Fix SPACK-40: Finish adding variant directive.
...
- Variants are now declarable in packages using the variant() directive.
- Variants are checked - you can't just ask for a random variant, it has to be declared.
- conditional logic (@when, if, '+debug' in spec, etc.) still required in package to
implement variant.
2015-05-10 12:24:03 -07:00
Todd Gamblin
c105a8d42a
Small updates to directives.
2015-05-10 12:24:03 -07:00
Todd Gamblin
1f8ce403dc
Modularize directives. Now each directive specifies its storage.
2015-05-10 12:24:03 -07:00
Todd Gamblin
0944ba120c
relations are now "directives", and code is cleaned up.
2015-05-10 12:24:03 -07:00
Todd Gamblin
5d2ee893c4
Remove TODOs for full DAG information.
...
- specs on disk now include full DAG info
- no need for normalize() kludges() anymore.
2015-05-10 11:45:12 -07:00
Todd Gamblin
29e833dfef
extensions file now in YAML format
2015-05-10 02:56:50 -07:00
Todd Gamblin
2f3b0481de
YamlDirectoryLayout now working.
2015-05-09 16:35:02 -05:00
Todd Gamblin
9412fc8083
restore some disabled git tests.
2015-05-09 16:12:04 -05:00
Todd Gamblin
8e87b2176a
Updated Sphinx RTD documentation theme supports 4 levels
2015-05-09 13:35:05 -05:00
Todd Gamblin
d6a5266976
Fix 'ç' in François's name.
2015-05-09 13:30:09 -05:00
François Bissey
3cfbc0520a
Basic support for IBM XL compilers
2015-05-07 01:54:18 -05:00
Todd Gamblin
42c88aa3ca
Merge branch 'features/diy' into develop
2015-05-07 01:53:26 -05:00
Todd Gamblin
1d0975bac6
Bugfixes for yaml specs.
2015-05-05 14:24:46 -07:00
Todd Gamblin
d687962b74
Add test for YAML specs.
2015-05-05 13:18:44 -07:00
Todd Gamblin
53e8e44a8b
Make YAML specs more human readable.
2015-05-05 13:06:41 -07:00
Todd Gamblin
278e70e533
Specs to/from YAML are working.
2015-04-29 01:47:09 -07:00
Todd Gamblin
13132c6b97
Add YAML to Spack.
2015-04-28 23:15:13 -07:00
Todd Gamblin
5c04b3c480
Fix for GitHub #30 and SPACK-70.
2015-04-14 15:11:41 -07:00
Todd Gamblin
8b14a46201
documentation updates
2015-04-14 15:11:01 -07:00
Todd Gamblin
314120212d
Complete diy command.
2015-04-08 00:22:46 -07:00
Todd Gamblin
5077a2a343
Add a DIY stage class.
2015-04-08 00:22:34 -07:00
Todd Gamblin
ab40d0b1a4
Factor edit_package function out of edit command.
2015-04-08 00:22:07 -07:00
Todd Gamblin
c4a6d04131
Start of DIY command.
2015-04-08 00:20:53 -07:00
Todd Gamblin
203fd861aa
Allow spack install -j to throttle make jobs.
2015-04-07 22:21:19 -07:00
Todd Gamblin
ad62b93df9
Merge pull request #23 from mplegendre/rpath_cleanup
...
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path>...
2015-03-27 14:14:49 -07:00
Matthew LeGendre
a4cce9eb69
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path> points into the spack install area
...
This specifically fixes problems with building gcc, as build and system directories were turning in in gcc library rpaths.
2015-03-27 13:58:57 -07:00
Todd Gamblin
8364f0404c
Add some options to spec command.
2015-03-24 08:40:45 -07:00
Todd Gamblin
af92250c7e
Add google analytics to docs.
2015-03-15 00:08:58 -07:00
Todd Gamblin
f97966d63a
SPACK-18: simpler build error messages
...
Suppress python stack trace on build error UNLESS in debug mode (spack -d).
Now spack shows errors with a single red arrow, and it's easier to find the actual build output.
2015-03-12 23:50:07 -07:00
Todd Gamblin
132aa690d8
Remove superfluous env scripts (avoid specifically named ones).
2015-03-12 10:39:26 -07:00
Todd Gamblin
560f2c299a
Add install_tree, force_symlink helper functions.
2015-03-12 10:32:29 -07:00
Todd Gamblin
0394adcf8d
Minor doc tweak.
2015-02-25 10:41:12 -08:00
Todd Gamblin
5eb7e46654
Spell check docs
2015-02-24 10:26:26 -08:00
Todd Gamblin
447e295947
SPACK-62: fix for site docs.
2015-02-24 02:45:21 -08:00
Todd Gamblin
daa38d2ff4
SPACK-59: Documentation updates, bugfix in fetching.
2015-02-24 02:45:07 -08:00
Todd Gamblin
049808a34f
Merge remote-tracking branch 'origin/features/SPACK-46' into develop
...
Conflicts:
lib/spack/docs/packaging_guide.rst
2015-02-23 10:46:58 -08:00
Todd Gamblin
daef78f538
Update packaging documentataion.
2015-02-23 10:31:22 -08:00
Todd Gamblin
5699cbb597
Fix SPACK-60: 0.8.15 basic docs.
2015-02-23 01:23:30 -08:00
Todd Gamblin
6dab133d9f
Same package add icon on mac and linux.
2015-02-23 01:23:30 -08:00
Todd Gamblin
d49c98188a
Add an override to colify so we can set terminal dimensions.
2015-02-23 01:23:30 -08:00
Todd Gamblin
02e316e772
Convert ValueErrors to SpackError subclass.
2015-02-18 16:45:54 -08:00
Todd Gamblin
2374eb4dca
Fix for SPACK-62
...
- deactivate -a errors if arg is not activated
- deactivate -af does not.
2015-02-18 16:45:12 -08:00
Todd Gamblin
2eda01c703
uninstall -f ignores nonexisting packages.
2015-02-18 16:21:15 -08:00
Todd Gamblin
2755171e08
Update documentation to reflect new restage/clean behavior.
2015-02-18 14:46:00 -08:00
Todd Gamblin
e67655c31a
docs autodetect version.
2015-02-18 14:33:21 -08:00
Todd Gamblin
c7b8a4e25c
Fix for SPACK-46: cleanup spack clean, spack restage.
2015-02-18 14:00:37 -08:00
Todd Gamblin
14097e39cc
Suppress download status meter when routing I/O to a file.
2015-02-18 10:59:03 -08:00
Todd Gamblin
17ac609d23
Merge branch 'features/memaxes' into develop
...
Conflicts:
var/spack/packages/libpng/package.py
2015-02-17 00:49:52 -08:00
Todd Gamblin
d800c23cec
Better activate/deactivate logic.
...
spack activate
- now activates dependency extensions
- ensures dependencies are activated in the python installation.
- -f/--force option still allows the old activate behavior.
spack deactivate
- checks for dependents before deactivating (like uninstall)
- deactivate -a/--all <extension> will deactviate a package and ALL
of its dependency extensions.
- deactivate -a/--all <extendee> activates all extensions of <extendee>
e.g.: spack deactivate -a python
- deactivate -f/--force option allows removing regardless of dependents.
- deactivate -f can be run EVEN if a package is not activated.
- allows for clenup of activations gone wrong.
2015-02-17 00:24:58 -08:00
Todd Gamblin
67db8ddca8
Factor ignore logic into a predicate builder.
2015-02-17 00:21:15 -08:00
Todd Gamblin
e6b2c27011
Factor out forking logic to build_environment.py.
2015-02-16 21:41:31 -08:00
Todd Gamblin
614c22fc1b
Allow forced deactivation -- best effort unlinking
...
spack deactivate -f will unlink even if Spack thinks the package isn't enabled.
Made deactivate routines idempotent.
2015-02-16 12:41:22 -08:00
Todd Gamblin
2f67cdaf10
Better time output on build completion.
2015-02-15 12:39:10 -08:00
Todd Gamblin
d1e03329c5
Memoize all_specs() and exists() for better performance.
...
- Real bottleneck is calling normalize() for every spec when we read it.
- Need to store graph information in spec files to avoid the need for this.
- Also, normalizing old specs isn't always possible, so we need to do this anyway.
2015-02-15 11:50:13 -08:00
Todd Gamblin
c0c0879924
Better extension activation/deactivation
2015-02-15 01:58:35 -08:00
Todd Gamblin
82dc935a50
installed_extensions_for no longer fails when nothing known about pkg
2015-02-15 01:49:50 -08:00
Todd Gamblin
0c94a6e2b0
Merge branch 'features/python-modules' into features/memaxes
...
Conflicts:
var/spack/packages/qt/package.py
2015-02-12 10:01:58 -08:00
Todd Gamblin
aae364b4c9
"spack extensions" shows total extension count.
2015-02-08 23:26:15 -08:00
Todd Gamblin
c077f05705
Move dpeendency environment setup to build_environemnt.
2015-02-08 22:01:00 -08:00
Todd Gamblin
f81b136547
import fix in cmd/clean
2015-02-08 19:43:10 -08:00
Todd Gamblin
20ec80295d
setup_extension_environment is now setup_dependent_environment.
...
- other packages, like Qt, can now use this to set up relevant build
variables and env vars for their dependencies.
- not just extensions anymore.
2015-02-08 19:41:17 -08:00
Todd Gamblin
60a385d4a4
Minor textual error in extensions command.
2015-02-08 19:40:28 -08:00
Todd Gamblin
befe72b9b9
directory_layout now raises an error when an install fails.
2015-02-08 19:36:30 -08:00
Alfredo Gimenez
a4ac1977a4
merge with python-modules
2015-02-06 16:27:33 -08:00
Todd Gamblin
3a3e4d4391
Do not automatically activate extensions on install.
2015-02-04 15:47:03 -08:00
Todd Gamblin
a9e189972a
Bugfix in spak extensions
2015-02-04 15:42:41 -08:00
Todd Gamblin
5bde8359e8
More information in extensions command.
2015-02-02 11:20:36 -08:00
Todd Gamblin
2d9190d264
Add extensions command.
2015-02-02 11:20:36 -08:00
Todd Gamblin
6b90017efa
Fixed dumb link_tree bug, added test for link tree.
2015-02-02 11:20:35 -08:00
Todd Gamblin
6400ace901
Add "spack extensions" command to list activated extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
70c8bf44b8
Fix for install sanity check -- don't count hidden dir layout files.
2015-02-02 11:19:54 -08:00
Todd Gamblin
de91c95e8e
Ability to ignore files in activate/deactivate for extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
ff9cb94f4f
Add arguements to extends() and activate/deactivate.
2015-02-02 11:19:54 -08:00
Todd Gamblin
2ae7f53b83
Bugfix: Extension hooks shoudl only run for extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
89ccdf92cd
Add activate and deactivate commands for extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
acc62abbd0
Rework do_activate/activate and do_deactivate/deactivate semantics.
...
- packages can now extend only one other package.
- do_activate() and do_deactivate() are now called on the extension,
and they automatically find the extendee
- activate() and deactivate() are still called on the extendee and are
passed the extension.
2015-02-02 11:19:53 -08:00
Todd Gamblin
d13bbeb605
Add PYTOHNPATH to modules for python extensions.
2015-02-02 11:19:53 -08:00
Todd Gamblin
bcccf02020
Add setup_extension_environment() method.
...
- lets packages do some setup before their extensions run install()
2015-02-02 11:19:53 -08:00
Todd Gamblin
82946d2914
Move symlink tree routines to LinkTree class.
2015-02-02 11:19:52 -08:00
Todd Gamblin
9977543478
Added feature: package extensions
...
- packages can be "extended" by others
- allows extension to be symlinked into extendee's prefix.
- used for python modules.
- first module: py-setuptools
2015-02-02 11:19:00 -08:00
Todd Gamblin
7215aee224
do_install() passes kwargs to dependencies.
2015-02-02 11:16:24 -08:00
Todd Gamblin
adb7d614e6
Add pre-install and pre-uninstall hooks.
2015-02-02 11:16:23 -08:00
Todd Gamblin
ebe0c1d83a
New "extends" relation adds another special list to the package class.
2015-02-02 11:16:23 -08:00
Todd Gamblin
88afad3e46
Directory layout can now track installed extensions per package.
2015-02-02 11:16:23 -08:00
Todd Gamblin
ba593ccb26
Fix bug in mirror path construction.
2015-02-02 11:15:24 -08:00
Todd Gamblin
3e37903ffd
Packages have rpath property.
2015-01-23 00:03:51 -08:00
Todd Gamblin
e6b4530234
Add is_exe function to filesystem.
2015-01-22 13:52:28 -08:00
Todd Gamblin
51ed0d3f6f
Properly set install RPATHS for cmake builds.
2015-01-19 20:59:23 -08:00
Todd Gamblin
f35b8b8db4
Better location error output.
2015-01-19 14:05:48 -08:00
Todd Gamblin
c6351b5d00
Fix #11 : bug in ProviderIndex
...
- packages that provided same spec (e.g. mpe) were overwritten in the index
- Index now has a set of providers instead of a single provider per provided spec.
- see https://github.com/scalability-llnl/spack/issues/11
2015-01-14 00:18:29 -08:00
Todd Gamblin
9db967be98
Fix bug when all deps are back edges.
...
- Happened with the graph for SAMRAI
2015-01-10 19:23:07 -08:00
Todd Gamblin
011f71a442
Fix bug in STAT graph
2015-01-10 19:09:03 -08:00
Todd Gamblin
935eba2357
Allow commands to return error codes.
2015-01-05 02:33:15 -05:00
Todd Gamblin
5d033fbd0a
Expansion works properly, simplified graph code.
2015-01-04 18:49:22 -08:00
Todd Gamblin
b4b8339d0d
bugfix for dot graphs of virtual packages.
2015-01-03 17:58:37 -08:00
Todd Gamblin
0a0291678e
Factor graph code out into its own module, rework spack graph.
2015-01-03 17:45:54 -08:00
Todd Gamblin
478af54cce
Color graph edges.
2014-12-31 14:55:35 -08:00
Todd Gamblin
dba5d020cd
Pipelining back edges works, saves more space.
2014-12-30 18:05:47 -08:00
Todd Gamblin
bb3dafa3b5
Reduce number of immediate expand/contracts.
2014-12-29 21:11:28 -08:00
Todd Gamblin
daf1e229f7
More compact graphs: do back edges before forward expansion.
2014-12-29 14:29:44 -08:00
Todd Gamblin
226de0a42d
Spec graph works without color.
2014-12-29 01:52:03 -08:00
Todd Gamblin
a6e00f6086
Fix ColorStream
2014-12-29 01:05:21 -08:00
Todd Gamblin
6ffcdc1166
Partially wroking ASCII dependency graph.
2014-12-29 00:03:35 -08:00
Todd Gamblin
860f834aad
spack graph allows plotting specific packages.
2014-12-26 13:52:49 -08:00
Todd Gamblin
d3e52d9f9a
Fix lack of sorting in version concretization.
2014-12-25 23:13:44 -08:00
Todd Gamblin
b80a0e1da5
Merge branch 'features/qt' into develop
2014-12-25 18:01:51 -08:00
Todd Gamblin
37bdbdd990
URLFetchStrategy now contains exploding tarballs.
2014-12-25 17:57:55 -08:00
Todd Gamblin
0bc861db6e
Fix up bzip2 install
2014-12-25 17:55:19 -08:00
Todd Gamblin
20388ece86
Clearer code in filter_file.
2014-12-25 16:07:39 -08:00
Todd Gamblin
7b71e6fb5a
spack env command
...
spack env allows regular commands to be run with a spack build environment.
It also displays the spack build environment for a package.
2014-12-25 16:06:30 -08:00
Todd Gamblin
b3042db755
Add patch function to Package, so that packages can define custom patch functions.
2014-12-25 16:05:45 -08:00
Todd Gamblin
852c1dc286
Print out fetch, build, and total time for builds.
2014-12-23 16:35:54 -08:00
Todd Gamblin
887c29ddc4
Merge branch 'features/better-mirror-support' into develop
2014-12-22 23:28:07 -08:00
Todd Gamblin
5cd4ddaf08
Fix for SPACK-49.
...
- name conflict in imp.load_source caused this to fail.
- Python modules loaded by imp have unique names now.
2014-12-18 21:38:25 -08:00
Todd Gamblin
08f1701e35
Allow fake installations (just make the directory).
...
- Use for debugging.
2014-12-18 15:52:45 -08:00
Todd Gamblin
f1c5e64c23
Partial fix for SPACK-48.
...
- Try to accommodate packages that have grown dependencies better.
- This will only get fully fixed when optional dependencies are supported
and some extra functionality is added to the spec syntax.
2014-12-15 14:46:34 -08:00
Todd Gamblin
722e73f309
Better mirror path calculation.
...
- Add support in spack.url for extrapolating actual file type for URL
- Move mirror path computation to mirror.py from package.py
2014-12-12 14:53:55 -08:00
Todd Gamblin
2f90068661
Handle cases where tarball is in the URL query string.
2014-12-12 14:48:59 -08:00
Todd Gamblin
e309b41972
Add support for URLs with query strings
...
- support tarballs from raw github URLs
2014-12-09 01:07:48 -08:00
Todd Gamblin
c3fce7b77f
Bugfix in create and checksum
2014-12-08 22:49:49 -08:00
Todd Gamblin
ba53ccb6b3
Minor tweak: use self.git everywhere in get fetch strategy.
2014-12-04 10:51:23 -08:00
Todd Gamblin
c774455fc5
Bugfix in create command.
2014-12-04 10:47:01 -08:00
Todd Gamblin
652b761894
Merge branch 'features/better-find' into develop
2014-12-02 22:55:11 -08:00
Todd Gamblin
fdc6081244
CLI improvements to find and list.
2014-12-02 22:53:11 -08:00
Todd Gamblin
11cffff943
colify handles ansi color input directly; no more decorator.
2014-12-02 22:32:15 -08:00
Todd Gamblin
e71cf672f1
Fail fast in stage if all fetch strategies fail for a package.
2014-12-02 09:58:30 -08:00
Todd Gamblin
40b4fa5443
Better spack find view.
2014-12-01 23:14:06 -08:00
Todd Gamblin
e15316e825
index_by supports compound index keys.
2014-12-01 23:13:09 -08:00
Todd Gamblin
72c753b93e
Colify now supports fixing the number of columns.
2014-12-01 21:29:01 -08:00
Todd Gamblin
22e4d11010
Cleanup code in colify.
2014-11-23 16:19:26 -08:00
Todd Gamblin
287b04e50a
Bugfix in terminal_size()
2014-11-23 17:55:37 -06:00
Todd Gamblin
d2fe038caf
Minor bugfix for 404 error on fetch.
2014-11-17 15:03:48 -08:00
Todd Gamblin
321a3a55c7
Prompt the user about checksums only if interactive.
2014-11-16 15:26:00 -08:00
Todd Gamblin
eba13b8653
Checksum warning now prompts for override.
2014-11-08 23:20:01 -08:00
Todd Gamblin
79414947ae
Merge branch 'features/gcc' into develop
...
Conflicts:
lib/spack/spack/package.py
2014-11-08 22:30:46 -08:00
Todd Gamblin
0d044cdc1b
Shorter help strings.
2014-11-08 22:18:20 -08:00
Todd Gamblin
1a424c124c
Python 2.6 fix for Mac OS
2014-11-08 22:18:08 -08:00
Todd Gamblin
1da5d12bdd
'spack urls' debugging command, more consistent URL extrapolation.
...
- spack urls inspects all URLs in packages, prints out colors to show how they are parased.
- URL extrapolation test added.
- Extrapolation is more consistent now.
- Extrapolation handles more complex URLs.
- More test cases for extrapolation.
2014-11-08 22:08:15 -08:00
Todd Gamblin
57076f6ca4
URL parsing improvements
2014-11-08 11:42:54 -08:00
Todd Gamblin
55bf243f16
Improved website scraping.
2014-11-07 00:17:25 -08:00
Todd Gamblin
3112096651
Merge branch 'hotfix/vcs-not-required' into develop
2014-11-06 13:41:54 -08:00
Todd Gamblin
fa21acc470
Fix inadvertent requirement of hg, svn, git, etc.
2014-11-06 13:22:15 -08:00
Todd Gamblin
193eddda5e
Fix for missing format_doc in package-list command.
2014-11-06 11:46:43 -08:00
Todd Gamblin
b97ee67a4b
Working GCC package.
2014-11-05 09:54:43 -08:00
Todd Gamblin
488a6737b7
Merge branch 'features/python' into develop
2014-11-03 14:20:37 -08:00
Todd Gamblin
0f3b80cddb
Fix for SPACK-11: Spack compiler wrapper is now in bash.
...
- Startup is much faster
- Added test for compiler wrapper parsing.
- Removed old compilation module that had to be imported by old cc.
- Removed cc from python version checks now that it's bash.
2014-11-03 14:12:16 -08:00
Todd Gamblin
1656f62a12
Add bzip2 package and spack pkg add command.
2014-11-03 14:12:16 -08:00
Todd Gamblin
8f9de17869
"spack info -r" is now "spack package-list"
...
- too much going on in this command, and it made subcommand parsing weird.
- information printed is the same but info and package-list are really different commands.
2014-11-01 16:03:09 -07:00
Todd Gamblin
a5859b0b05
Add ability to get subparser by name from argparse
2014-11-01 15:59:29 -07:00
Todd Gamblin
3db22a4e33
Sane self.url for packages (reflects current version)
2014-11-01 15:01:01 -07:00
Todd Gamblin
85a14b68b7
spack compiler add checks for access before listing directories.
2014-10-31 10:30:58 -07:00
Todd Gamblin
f60fd330cb
Better error messages for extension()
2014-10-30 15:00:02 -07:00
Todd Gamblin
ee528bc426
Docs for spack list with glob.
2014-10-27 22:40:04 -07:00
Todd Gamblin
75e6e794fb
Fix bug with extension() for sourceforge URLs.
2014-10-27 21:32:31 -07:00
Todd Gamblin
d542b7b003
Merge branch 'features/new-docs' into develop
2014-10-27 20:44:00 -07:00
Todd Gamblin
1c4948e1b0
Fix long-standing multimethod test error.
...
- New inclusive version ranges from git-fetching branch enable a fix.
- Can now write :1 to include 1.3, 1.4, etc.
- couldn't do this before so provides() was weird.
2014-10-27 20:02:24 -07:00
Todd Gamblin
d98beeec31
Remove ambiguous test case in url_extrapolate.
2014-10-27 19:59:19 -07:00
Todd Gamblin
4d8a47800a
Add docs on spack module refresh.
2014-10-27 19:53:56 -07:00
Todd Gamblin
4ecc7e1c93
Document file filtering functions.
2014-10-27 19:53:55 -07:00
Todd Gamblin
4bf6930416
Docs for modules & dotkits.
2014-10-27 19:53:55 -07:00
Todd Gamblin
e2af2a27bf
Merge branch 'features/git-fetching' into develop
...
Conflicts:
lib/spack/docs/packaging_guide.rst
lib/spack/spack/cmd/info.py
lib/spack/spack/package.py
lib/spack/spack/stage.py
2014-10-27 19:53:05 -07:00
Todd Gamblin
d41d6ed863
Updated packaging docs.
2014-10-27 00:55:38 -07:00
Todd Gamblin
525344aa85
Make info command show VCS URLs properly.
2014-10-27 00:55:25 -07:00
Todd Gamblin
2e2e720a2a
Add spack md5 command for simple checksumming.
2014-10-25 14:40:17 -07:00
Todd Gamblin
fa4d58db52
Add a dummy depends_on to the boilerplate.
2014-10-25 14:38:42 -07:00
Todd Gamblin
94a52a8710
Start documenting new features.
2014-10-23 20:15:11 -07:00
Todd Gamblin
87b87199f2
Fix for SPACK-43: compiler finding fails gracefully on unknown error.
2014-10-22 01:08:08 -07:00
Todd Gamblin
e4c2891d4b
Test for URL extrapolation.
2014-10-22 00:49:16 -07:00
Todd Gamblin
0c4b8d45df
Consolidate archive_file() implementation into Stage.
2014-10-16 08:50:57 -07:00
Todd Gamblin
fb3003f664
Bug fixes for URLs and mirror fetching.
2014-10-16 06:56:00 -07:00
Todd Gamblin
6fdfd83e6b
Add test cases for mirroring.
2014-10-15 21:07:41 -04:00
Todd Gamblin
8e3c2d8a26
Refactor fetch tests to use common mock repo module.
2014-10-15 07:40:01 -07:00
Todd Gamblin
fbd7e96680
Add a mirror module that handles new fetch strategies.
...
- Uses new fetchers to get source
- Add archive() method to fetch strategies to support this.
- Updated mirror command to use new mirror module
2014-10-14 23:26:43 -07:00
Todd Gamblin
8fd4d32408
Use external argparse in spack list, for 2.6 compatibility.
2014-10-10 09:45:48 -07:00
Todd Gamblin
dd2cea4107
Add available versions to generated package list documentation.
2014-10-08 14:08:11 -07:00
Todd Gamblin
36a87f5bf9
Update documentation to add an auto-generated list of packages.
2014-10-08 03:08:40 -07:00
Todd Gamblin
319b37af0e
Add spack edit -c option to edit commands.
2014-10-08 03:08:40 -07:00
Todd Gamblin
ff546358f3
Update docs to use new version format.
2014-10-08 03:08:40 -07:00
Todd Gamblin
ee23cc2527
Add archive creation capability to fetch strategies.
...
- fetch strategy needs to know how to create archive of fetched repo
- allows mirrors to be created from git/other VCS fetches.
2014-10-07 23:26:39 -07:00
Todd Gamblin
e8d131ef96
Minor bugfix in exception constructor.
2014-10-07 23:23:18 -07:00
Todd Gamblin
1801a85966
Move tty output commands out of package and into clean command.
2014-10-07 23:22:58 -07:00
Todd Gamblin
4bde771970
Fix for SPACK-39: Concretization was too restrictive.
...
- concretize_version() now Use satisfies(), not intersection.
- version class updated with better intersection/union commands
- version now 1.6 "contains" 1.6.5
- added test for new version functionality
- remove none_high and none_low classes
- version module is now self-contained; save for external 2.7
functools.total_ordering for 2.6 compatibility.
2014-10-07 23:22:45 -07:00
Todd Gamblin
1c60b3967d
Add simple fnmatch filtering to spack list.
2014-10-06 14:11:19 -07:00
Todd Gamblin
37e96ff6e1
Added test for Mercurial fetching.
2014-10-04 18:38:47 -07:00
Todd Gamblin
0fa1c5b0a5
Add Mercurial fetch strategy and lwm2.
2014-10-03 16:57:32 -07:00
Todd Gamblin
727d313c30
Fix location.py to use source_path
2014-10-03 16:57:32 -07:00
Todd Gamblin
faae720c36
add tests for svn fetching.
2014-10-03 16:55:53 -07:00
Todd Gamblin
da84764e97
Add test case for git fetching.
2014-10-03 16:55:53 -07:00
Todd Gamblin
c74cd63389
Callpath build works when a tag is fetched from git.
2014-10-03 16:55:53 -07:00
Todd Gamblin
0cc79e0564
Implement per-version attributes for flexible fetch policies.
...
- Tests pass with URL fetching and new scheme.
- Lots of refactoring
- Infrastructure is there for arbitrary fetch policies and more attribtues on the version() call.
- Mirrors do not currently work properly, and they get in the way of a proper git fetch
2014-10-03 16:55:13 -07:00
Todd Gamblin
52d140c337
Factor out URL fetching into URLFetchStrategy
...
- Added FetchStrategy class to Spack
- Isolated pieces that need to be separate from Stage for git/svn/http
- Added URLFetchStrategy for curl-based fetching.
2014-10-03 16:53:13 -07:00
Todd Gamblin
720ced4c2e
Add test for URL version substitution.
2014-09-30 00:09:11 -07:00
Todd Gamblin
13eca0357f
Bugfix for version substitution.
2014-09-29 23:30:48 -07:00
Todd Gamblin
921a5b5bcc
Make fetch fail on 404.
2014-09-29 23:28:16 -07:00
Todd Gamblin
26495ddce9
Reverse sort output versions in spack checksum
2014-09-29 23:27:40 -07:00
Todd Gamblin
e4613a60cf
Fix for spack cd -i.
2014-09-29 22:43:40 -07:00
Todd Gamblin
a8ed1ec414
Minor argparse improvement.
2014-09-29 20:00:00 -07:00
Todd Gamblin
3bd52678be
MPICH sets MPI compilers to use real compilers and not spack wrappers.
2014-09-27 21:36:42 -07:00
Todd Gamblin
5cc508393a
gfortran version detection brokenon debian.
2014-09-27 16:19:56 -07:00
Todd Gamblin
d7984c7540
Update checksum to print new version syntax.
2014-09-27 15:33:27 -07:00
Todd Gamblin
608191bd8c
Find custom list_urls depending on the archive URL (e.g. github releases)
2014-09-27 15:32:44 -07:00
Todd Gamblin
2de2d4bea7
Modify MPI installs to work without fortran.
2014-09-23 14:59:30 -07:00
Todd Gamblin
7380de8ee3
Change git URL to https URL in all docs.
2014-09-19 09:55:13 -07:00
Todd Gamblin
39acca4b43
Fix for bug in create introduced by LLVM merge.
2014-09-19 09:42:07 -07:00
Todd Gamblin
fa5594e13f
Merge branch 'features/llvm' into develop
...
- merging parts of LLVM that can be built now.
- need to wait for standalone builds for some of the others.
2014-09-18 23:30:32 -07:00
Todd Gamblin
9165a000a3
Better C++11 support, remove non-standalone llvm-compiler-rt.
...
- LLVM non-standalone add-ons are difficult to build outside LLVM.
- May have to wait for future versions of LLVM to build some of these
2014-09-18 23:22:03 -07:00
Todd Gamblin
4a19fa793e
Support for pkg-config.
2014-09-18 01:42:01 -07:00
Todd Gamblin
68274ee657
Add command to show packages added in particular git revisions.
...
spack pkg list [rev] list packages for revision.
spack pkg diff [rev1] [rev2] diff bt/w packages in rev1 and rev2
spack pkg added [rev1] [rev2] pkgs added since rev1
spack pkg removed [rev1] [rev2] pkgs removed since rev2
2014-09-17 15:48:13 -07:00
Todd Gamblin
881fdb66ae
Merge branch 'develop' into features/fileutils
...
Conflicts:
lib/spack/spack/packages.py
2014-09-16 23:53:44 -07:00
Todd Gamblin
a4c8e945c7
Some fixups for Adam's callpath and adept-utils packages.
...
- Make spack packages RPATH *ALL* dependencies (i.e. the whole tree)
- prevents callpath link from finding wrong libelf -- always uses the one dyninst used.
2014-09-16 21:59:46 -07:00
David Beckingsale
42ca6c8bfc
Add dependency prefixes to CMAKE_PREFIX_PATH
2014-08-22 14:45:44 -07:00
Todd Gamblin
d87a652582
Add spack cd and spack location commands.
...
- Better shell support for cd'ing into directories
- Fix some csh weirdness with nested aliases.
2014-08-22 11:00:19 -07:00
Todd Gamblin
eb5efed421
Merge branch 'features/postgresql' into develop
...
- add spack cd command.
- Fix bug in modules hook
Conflicts:
lib/spack/spack/cmd/stage.py
lib/spack/spack/hooks/dotkit.py
share/spack/setup-env.bash
2014-08-21 22:59:39 -07:00
Todd Gamblin
5a9ef130ea
Make EnvModule class use spec instead of package, fix using module of non-present package.
...
- Using the spec doesn't require the package to be there.
- Restore ability to use non-present packages (which was broken)
2014-08-20 11:43:03 -07:00
Todd Gamblin
8cc2298181
Merge branch 'features/python-2.6-compatibility' into develop
...
- Changed 'import argparse' to 'from external import argparse' in conflicts.
Conflicts:
lib/spack/spack/cmd/dotkit.py
lib/spack/spack/cmd/unuse.py
lib/spack/spack/cmd/use.py
2014-08-20 09:30:40 -07:00
George Todd Gamblin
42e27d04c1
Merge pull request #19 in SCALE/spack from features/modules to develop
...
# By Todd Gamblin (4) and David Beckingsale (2)
# Via Todd Gamblin
* commit 'b601fd08caf21b5fc11e6998a5ebd20a04ac57ad':
Bugfixes for csh environment modules.
Bugfixes, more consolidation of modules code.
Add csh/tcsh support for modules
Consolidate most module code into spack.modules and spack.cmd.module
Fixed up module support
Added inital module support
2014-08-18 23:11:02 -07:00
Todd Gamblin
b601fd08ca
Bugfixes for csh environment modules.
2014-08-17 01:41:32 -07:00
Todd Gamblin
22bec329c1
Bugfixes, more consolidation of modules code.
...
- specific module classes use __metaclass__ to register themselves.
- bugfixes in module writing.
2014-08-16 22:22:53 -07:00
Todd Gamblin
776560f8ce
Add csh/tcsh support for modules
...
- csh scripting is a GIANT pain in the ass
- hopefully the thin script layer doesn't get much more complex.
2014-08-16 14:58:15 -07:00
Todd Gamblin
221cf6acb9
Consolidate most module code into spack.modules and spack.cmd.module
...
- One file with all the module classes (spack/modules.py)
- Has an EnvModule superclass that does most of the work and consolidates common code
- Subclasses have specializations for different module systems (TclModule, Dotkit)
- One command (spack module) for all the types of modules to use
- the one command is used by the scripts, only need to maintain in one place
- has some subcommands for different module types, but they're handled mostly generically.
- Consolidate zsh support into a single setup-env.sh script.
2014-08-16 14:53:57 -07:00
Todd Gamblin
5a3803de39
Add options to stage to make it just print out stage dir.
2014-08-11 22:47:23 -07:00
Todd Gamblin
0bba101ff9
Allow packages to add a dotkit() method and write custom parts of dotkits.
2014-08-11 22:47:22 -07:00
Todd Gamblin
113afe860e
More robust symbol inclusion for 'from spack import *'
...
- avoid errors where some symbols aren't exported to packages.
- reduce the number of places each symbol needs to be mentioned in
an __all__ list
2014-08-11 22:47:22 -07:00
Todd Gamblin
48d5281e3a
Test cases pass; Spack supports Python 2.6!
2014-08-10 18:07:20 -07:00
Todd Gamblin
7082b0a59a
cc supports Python 2.6
2014-08-10 18:07:20 -07:00
Todd Gamblin
696e80c62f
Get rid of Python 2.7 dict.viewkeys() call.
2014-08-10 18:05:52 -07:00
Todd Gamblin
d95e7ecfe1
Remove dependency on Python2.7 OrderedDict, revise config parser
2014-08-10 17:56:36 -07:00
Todd Gamblin
d86a638099
Add Python 2.7 functools.total_ordering to external modules.
...
- removing dependence on 2.7
- added it to pyqver2 ads well
2014-08-10 17:54:39 -07:00
Todd Gamblin
ca328a6993
Fix minor warning about Exception.message being deprecated.
2014-08-10 17:52:46 -07:00
Todd Gamblin
a41a19d14d
Change dict comprehensions to dict() constructors.
2014-08-10 16:04:41 -07:00
Todd Gamblin
5a5da817a1
Fix SPACK-27 & remove dependence on check_output
...
- subprocess.check_output is python 2.7 only
- Spack checks for existence of requested prefix, creates it if it does not exist.
2014-08-10 11:52:17 -07:00
Todd Gamblin
7714d08e2e
Remvoe dependence on v2.7 argparse by including argparse.
2014-08-10 11:48:07 -07:00
Todd Gamblin
17895bd6fd
Add a test case to ensure that Spack is v2.6 compliant.
2014-08-10 11:46:14 -07:00
Todd Gamblin
8ab793a3a6
Add external package with pyqver2 tool
2014-08-10 11:45:32 -07:00
Todd Gamblin
98797459f3
Minor tweaks after spec update.
...
- spack find -p works properly (get path from spec, not package)
- directory layout and PackageDB normalize things automatically unless
they're unknown packages (need to do this for spack find -l)
- install test made robust to mock/main package conflicts
2014-08-09 17:41:56 -07:00
Todd Gamblin
5f073ae220
More spec improvements
...
- Spec.copy() does not create superfluous nodes and preserves DAG
connections.
- Spec.normalize() doesn't create extra dependency nodes or throw out
old ones like before.
- Added better test cases for above changes.
Minor things:
- Fixed bug waiting to happen in PackageDB.get()
- instances was keyed by name, not by spec, so caching wasn't really
working at all.
- removed unused PackageDB.compute_dependents function.
- Fixed PackageDB.graph_dependencies() so that spack graph works again.
2014-08-09 16:17:40 -07:00
Todd Gamblin
63f8af8078
Add postorder traversal to specs
...
- Spec.preorder_traversal() is now Spec.traverse().
- Caller can supply order='pre' or order='post'
2014-08-08 13:21:52 -07:00
Todd Gamblin
d5c625d87d
Clean up specs, spec comparison, and spec hashing.
...
- Spec comparison is now less strict
- compares based on sorted list of dependencies but not
their structure
- Makes comparison easy when a spec is not normalized.
- This makes the dep_hash consistent for specs read in from a
directory layout. - Can now reliably read in a spec for which the
package has gone away, and still be able to delete its install.
- easy switching between git branches
- Fixed latent bug in Spec.flat_dependencies() (was including root)
- added a test for the directory layout so that this code will get
more exercise.
2014-08-08 13:21:48 -07:00
Todd Gamblin
c55041e9d4
Partial commit of more packages.
2014-08-04 07:54:22 -07:00
Todd Gamblin
cabfc374eb
More descriptive error when package constructor fails.
...
- helps package_sanity test identify which package failed.
- encountered while upgrading versions in Adam's packages to the new format.
2014-08-04 07:54:05 -07:00
Adam Moody
a32816c644
cannot uninstall dtcmp because depends on dtcmp
2014-08-04 07:54:04 -07:00
David Beckingsale
57ddbd282a
Fixed up module support
2014-08-04 07:53:40 -07:00
David Beckingsale
94c5c9667c
Added inital module support
2014-08-04 07:53:40 -07:00
George Todd Gamblin
d13d32040c
Merge pull request #20 in SCALE/spack from openss to develop
...
# By Matthew LeGendre (2) and Todd Gamblin (1)
# Via Todd Gamblin
* commit 'd7a3c7e555bfd93fbf93ec55608d7fc6aa8052f8':
Fix up Matt's openss packages.
Add sqlite to spack
Add libmonitor to spack. Still needs svn support for checkout
2014-08-04 07:51:12 -07:00
Todd Gamblin
d0b179962b
find and uninstall work when installed package is no longer in spack.
...
- Make switching between git branches easier.
- Make future removal of packages easier.
2014-08-04 07:40:53 -07:00
Todd Gamblin
d7a3c7e555
Fix up Matt's openss packages.
2014-08-03 12:57:09 -07:00
Todd Gamblin
1ad474f1a9
Allow per-version URLs instead of one single URL per package.
2014-07-30 23:30:07 -07:00
Todd Gamblin
5829b44648
Fix Jeff Keasler's issues and add parmetis package.
2014-07-09 01:37:24 -07:00
Todd Gamblin
5f8724650a
Fix for SPACK-35: Fortran not working properly
...
- Spack needed symlinks in env for fortran compilers.
- 'fc' is a bash bulitin, so can't use it for fortran compiler.
- switched to 'f90' for this.
- mpich 3 builds with fortran now.
- enabled shared libs in mpich package
2014-07-09 01:28:23 -07:00
Todd Gamblin
bd8838ca6d
Fix typos.
...
Thanks Adam!
2014-07-08 02:41:29 -07:00
Todd Gamblin
830b9ab25c
Fix for finding dependent packages
2014-07-08 02:36:40 -07:00
Todd Gamblin
10318a11dd
Fix for dependent package detection.
2014-07-08 02:35:50 -07:00
Todd Gamblin
295ffd8c50
Adding dotkit support to TAU.
...
- New spack.hooks package
- contains modules with pre and post install hooks
- New dotkit hook module
- generates/removes dotkits on install/uninstall
- New spack use, spack unuse commands
- use same syntax as install/uninstall
- New setup-env.bash script
- Sets up path, dotkit support
- new spack dotkit command
- used by script to parse specs, generate
specs of installed pckages for dotkit file names
2014-07-08 01:58:20 -07:00
Todd Gamblin
0551638944
Add TAU package and routines to filter files, fix sed calls.
...
- TAU doesn't install to directories with '@' in the name.
- Need to fix up its scripts.
- routines to filter files as sed would, but using python regular expressions.
- TAU package uses this.
2014-07-02 23:24:10 -07:00
Todd Gamblin
a7fd8be514
Some fixes for spack-python interpreter mode.
2014-07-02 23:24:10 -07:00
Todd Gamblin
4b960c131b
Reordered site configuration docs.
2014-06-24 17:07:18 -07:00
Todd Gamblin
3b1e6d4bbc
Updated docs.
2014-06-24 17:01:29 -07:00
Todd Gamblin
bf498991d3
Bugfix for mirror command
2014-06-24 17:00:56 -07:00
Todd Gamblin
3c3f272280
spack mirror now checksums fetched archives.
2014-06-24 11:53:44 -07:00
Todd Gamblin
b33412e03a
New spack mirror command, configuration.
...
- Mirrors now appear in ~/.spackconfig, can be edited in that file.
- spack mirror command allows adding, listing, removing mirrors
- Also still creates mirror directories.
2014-06-24 11:15:41 -07:00
Todd Gamblin
9f8ef85644
Add more output; don't re-add existing compilers
2014-06-24 07:17:30 -07:00
Todd Gamblin
8165393962
import & namespace fixes
...
- Fix Boost issue reported in SPACK-16
2014-06-23 09:37:53 -07:00
Todd Gamblin
8e066ebf2a
Simplified compiler finding logic and caching.
2014-06-23 08:53:55 -07:00
Todd Gamblin
33a11f32fd
Multi-compiler support feature-complete. Fix SPACK-3, SPACK-4, SPACK-12.
...
- Fast compiler finding in path and for other directories
- first time spack runs, it searches path.
- user can add more compilers with 'spack compiler add'
- Finds intel, gcc, clang, and pgi compilers with custom version args.
- Builds can plug in alternate compilers with ease (e.g. %intel@12.1)
2014-06-22 12:50:42 -07:00
Todd Gamblin
f1bc65c132
Executables can optionally ignore error output.
2014-06-22 12:50:35 -07:00
Todd Gamblin
ae31838193
Enable allow_no_value for config parser.
...
- Will be useful for, e.g., mirror lists.
- Previously didn't properly override regex used when no-value fields are allowed.
2014-06-22 12:50:35 -07:00
Todd Gamblin
c091c6d412
Make tests use mock compiler configuration.
...
- makes sure tests don't fail on systems that don't have some compilers (e.g. clang).
- more control over specific test cases for compilers.
2014-06-22 12:50:35 -07:00
Todd Gamblin
c256d5d1ac
Set default editor to vi if EDITOR is not set.
2014-06-22 12:50:35 -07:00
Todd Gamblin
3303365d12
Add working_dir, Version back into package build namespace.
2014-06-22 12:50:34 -07:00
Todd Gamblin
3653cfe6f0
Compiler support now uses configuration files.
...
- no more need for compiler python files.
- Default compilers are found in user's environment and added
to ~/.spackconfig automatically
- User can add new compilers by editing configuration file
2014-06-22 12:50:34 -07:00
Todd Gamblin
b6740cf1d1
Make debug and verbose output work properly.
2014-06-22 12:50:34 -07:00
Todd Gamblin
4608b674e5
Minor cleanup and bug fixes.
2014-06-22 12:50:34 -07:00
Todd Gamblin
c8414a8a40
Add support for configuration files. Fix SPACK-24.
2014-06-22 12:50:13 -07:00
Todd Gamblin
042a4730e3
Proper exiting for forked process in do_install()
2014-06-22 12:50:10 -07:00
Todd Gamblin
15f56ccee0
Move globals to spack's __init__.py
2014-06-22 12:50:10 -07:00
Todd Gamblin
e70ac872cb
Move globals to spack's __init__.py
2014-06-22 12:50:09 -07:00
Todd Gamblin
f784757113
Initial ability to swap compilers.
...
Fixes SPACK-16 and forces compiler script to build using compiler wrappers.
- works with gcc and clang on laptop.
2014-06-22 12:49:34 -07:00
Todd Gamblin
ed6454fe78
Better satisfies: e.g., v4.7.3 now satisfies v4.7
...
- Changed how satisfies() is defined for the various version classes
- Can't just use overlaps() with version lists -- need to account for
more and less specific versions.
If the version is more specific than the constriant (e.g., 4.7.3 is more
specific than 4.7), then it should satisfy the constraint, because if
a user asks for 4.7 they likely do not care about the minor version. If they
do, they can specify it. New Version.satisfies() takes this into account.
2014-06-22 12:33:49 -07:00
Todd Gamblin
285c5444ab
Add CompilerSpec class and loading capability.
...
- spack.spec.Compiler is now spack.spec.CompilerSpec
- Can load a spack.compilers.* module for a particular spec
- e.g. load Gcc module for gcc@4.7 spec.
2014-06-22 12:33:49 -07:00
Todd Gamblin
45baf73c34
Implemented compiler concretization policy.
2014-06-22 12:33:49 -07:00
Todd Gamblin
c6956bc8e7
Sorted out spack.compilers vs var/spack/compilers
2014-06-22 12:33:49 -07:00
Todd Gamblin
8d78e1142f
Make Compiler constructor behave like Spec constructor.
2014-06-22 12:33:49 -07:00
Todd Gamblin
1fa20ec2ba
partial checkin
2014-06-22 12:33:49 -07:00
George Todd Gamblin
719978a63d
Merge pull request #10 in SCALE/spack from ~SHRADER3/spack:develop to develop
...
# By David Shrader
# Via David Shrader
* commit '1c1e7295f02b123310efe88b0a23a9cb95cce2f4':
Fix bug in checksum reporting
2014-05-27 08:45:39 -07:00
Todd Gamblin
d99ee7e6ce
Fix for SPACK-28: truncated output in docs.
2014-05-27 08:43:25 -07:00
Todd Gamblin
4665505936
Add index_by function to llnl.util.lang
2014-05-27 08:33:19 -07:00
David Shrader
1c1e7295f0
Fix bug in checksum reporting
...
The number of variables in the string printed for a checksum failure
was not correct. Now a useful error message is printed instead of a
stack trace and a TypeError.
2014-05-20 15:56:52 -06:00
Todd Gamblin
b32cbd6b13
Better version substitution and wildcard URLs.
...
- Previously, URLs like this wouldn't work with spack create:
http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.13.tar.bz2
The '5' in hdf5 would interfere with version wildcard substitution beacuse
the wildcard regex would subsume it.
We now take the name of the package OUT of the URL before splitting it up
and adding version wildcards. This prevents names with numbers from breaking
url.wildcard_version.
Also added a package sanity check test that ensures all builtin packages
work with wildcard_version.
2014-05-17 13:47:01 -07:00
Todd Gamblin
e0c7a63a5a
Bugfix in error message.
2014-05-16 11:33:17 -07:00
Todd Gamblin
3607c26439
Allow widths in spec format strings.
2014-05-04 11:07:16 -07:00
George Todd Gamblin
c59e23c1f9
Merge pull request #8 in SCALE/spack from features/boost to develop
...
# By Todd Gamblin
# Via Todd Gamblin
* commit 'a0c91791c5ac995b80111a92c94d8fb760caa6e3':
SPACK-25: Add package for boost. Works on Linux currently.
Better temp directory selection.
Status messages now show install and stage directories.
Better version wildcard handling, better spidering
2014-04-29 20:16:05 -07:00
Todd Gamblin
b813b40c4f
Clean up commands and get rid of inconsistent --dirty options
...
- checksum --dirty and create --dirty now changed to --keep-stage
- install --dirty is now --keep-prefix
- uninstall --force now works properly
- commands use keyword args instead of package instance vars
where possible (less weird package state)
2014-04-25 15:32:11 -07:00
Todd Gamblin
0c99d9ddc3
Fix SPACK-17: Remove install prefix if install() fails
...
- except clause now catches anything, not just exception
- sys.exit() changed to os._exit() to avoid interfering with unit tests
and to avoid raising SystemExit exception when child processes quit.
2014-04-25 14:55:50 -07:00
Todd Gamblin
07ef48a036
Better temp directory selection.
...
- Prefer tempfile.gettempdir(), then LC dirs like /nfs/tmp2
2014-04-25 14:48:42 -07:00
Todd Gamblin
c2d1478a7c
Status messages now show install and stage directories.
2014-04-25 14:48:42 -07:00
Todd Gamblin
3bbca9bd05
Better version wildcard handling, better spidering
...
- Allow version wildcards to match [_-.] instead of the exact separators
the version was constructed with.
- Handles the fact that boost versions are written both 1.55.0 and 1_55_0.
- Update spidering to handle parse errors and warn that Python < 2.7.3 has
less robust HTML parsing abilities.
2014-04-25 14:41:37 -07:00
George Todd Gamblin
15589754ec
Merge pull request #7 in SCALE/spack from bugfix/SPACK-10-fork-on-install to develop
...
# By Todd Gamblin
# Via Todd Gamblin
* commit 'b4fddad7eff448adf701fc9e88cf02cd6e582f15':
Fix for SPACK-10: Spack now forks before install()
2014-04-24 21:40:27 -07:00
George Todd Gamblin
b2efea01d5
Merge pull request #6 in SCALE/spack from bugfix/SPACK-20-bin-directories-in-path to develop
...
# By Todd Gamblin
# Via Todd Gamblin
* commit '554ae9b3552a40ed253250bdebf548e4d8b01976':
bugfix for SPACK-20: add dependency bin directories to PATH
2014-04-24 21:33:05 -07:00
Todd Gamblin
b4fddad7ef
Fix for SPACK-10: Spack now forks before install()
...
- this allows each install to have full control over its environment,
and over spack.
- build process can do whatever it wants and doesn't affect main Spack
process.
2014-04-16 01:19:02 -07:00
Todd Gamblin
514f1acdb0
Default SYS_TYPE should just be an unknown architecture.
2014-04-16 00:55:05 -07:00
Todd Gamblin
554ae9b355
bugfix for SPACK-20: add dependency bin directories to PATH
...
- Consolidated build environment stuff from package.py into
build_environment.py
- package.py calls build_environment.py functions just before calling
install(), in do_install()
- Organization is better b/c SPACK_xxxx environment variables are now
in build_environment, the only place they're used. Were previously
cluttering globals.py.
2014-04-15 22:45:34 -07:00
Gregory L. Lee
655ab60beb
use installed property to check package existence
2014-04-14 15:22:03 -07:00
Gregory L. Lee
2aa859e0cf
fixed installed dependents and uninstall error message
2014-04-14 15:22:03 -07:00
Todd Gamblin
50f74c117e
Fix for SPACK-22: Consistent dependency hashing.
...
The dependency hash wasn't being generated in a consistent way: when
read from .spec file in the install directory, the spec DAG was not
normalized, but when generated on install, it was. Thus the same
spec can have two possible hashes, which is obviously not good.
In this commit:
- Added a dep_hash function to spec, which should be used to get the
dependency hash in all cases. This function normalizes the spec
before generating the hash.
- removed sha1 functions from Spec and DependencyHash. The one on
Spec is not needed and is confusing (it hashed the whole spec, not
just hash the deps) and the one on DependencyHash wasn't guaranteed
to be safe because it can't normalize its parent spec before
hashing.
Hopefully this makes things consistent and easy.
2014-04-14 14:11:58 -07:00
Todd Gamblin
9fa99030eb
Print compiler correctly.
2014-04-14 13:53:40 -07:00
Todd Gamblin
1f9dfeb9b5
Clean up find command, move code to utils.
2014-04-14 12:53:23 -07:00
Todd Gamblin
1e51daab08
Fix broken calls into colify.
2014-04-14 09:42:53 -07:00
Todd Gamblin
79c5dd0952
Fix SPACK-21: stage names are too long
...
Stage names now hash dependencies like install prefixes.
2014-04-13 17:32:22 -07:00
Todd Gamblin
59a3b8dc67
Make SSL verification failures recommend spack -k
...
- Adds optional long message to SpackError
- tty now wraps long message text.
2014-04-13 16:38:15 -07:00
Todd Gamblin
980c1f0e47
Update docs for new package structure.
2014-03-16 17:05:24 -07:00
Todd Gamblin
81dc27bf41
Move packages and mock packages to /var/spack
2014-03-16 17:05:15 -07:00
Todd Gamblin
566dc037e7
Add a test for package names
2014-03-16 15:24:03 -07:00
Todd Gamblin
8b1c760ea3
Modify create and edit to work with new package format.
2014-03-16 15:23:44 -07:00
Todd Gamblin
b8b334e86c
New, more consistent package directory structure.
...
- Packages now live in <package_name>/package.py
- spack.packages refactored to use a PackageDB object instead of
monolithic module.
- Implementation of mock_packages_test.py is greatly simplified
- Added test to exercise install/uninstall code because that wasn't
covered by existing tests and kept breaking.
2014-03-16 14:51:03 -07:00
Todd Gamblin
74ec74d73c
Integrate & clean up packages from LLNL hackathon.
2014-03-15 19:46:41 -07:00
Todd Gamblin
61fc2317d8
Merge branch 'openmpi' into next
2014-03-15 16:00:50 -07:00
Todd Gamblin
f6ea9406c3
Merge branch 'scr' into next
2014-03-15 16:00:20 -07:00
Todd Gamblin
a3beb688e1
Merge branch 'spindle' into next
...
- Fixed conflicting changes to env/cc
- TODO: get rid of small hack in cc for machines with no CC
2014-03-15 13:08:20 -07:00
Todd Gamblin
bb00f2a7a0
Merge branch 'stat' into next
2014-03-15 12:57:41 -07:00
Todd Gamblin
27093790dc
Merge branch 'launchmon' into next
2014-03-15 12:57:34 -07:00
Adam Moody
2588e023ec
patches for openmpi 1.6.5
2014-03-15 09:11:44 -07:00
Adam Moody
b207c6779b
adding scr
2014-03-15 08:58:18 -07:00
Todd Gamblin
9d01df9e8a
Moving utilities to a common LLNL package.
2014-03-14 16:21:15 -07:00
Gregory L. Lee
e38e79417b
cleaned up fixmes in package
2014-03-14 13:19:54 -07:00
Gregory L. Lee
6a185dfb24
launchmon dependency added as comment, need Jira SPACK-21 fixed
2014-03-14 12:56:40 -07:00
Gregory L. Lee
f0f0c99c55
launchmon dependency added as comment, need Jira SPACK-20 fixed
2014-03-14 12:54:28 -07:00
Gregory L. Lee
7b28ee2cd2
Merge branch 'launchmon' of ssh://cz-stash.llnl.gov:7999/scale/spack into stat
2014-03-14 12:05:12 -07:00
Gregory L. Lee
759d33ac5b
fixes for launchmon build
2014-03-14 12:04:27 -07:00
Matthew LeGendre
cfbf348982
Fix spindle launchmon dependency
2014-03-14 12:04:18 -07:00
Matthew LeGendre
6147d52f2d
Merge branch 'version_opt' into spindle
2014-03-14 11:33:37 -07:00
Matthew LeGendre
40cda9fa9c
Fix issue when compiler wrappers ran gcc -V
2014-03-14 11:22:09 -07:00
Gregory L. Lee
9cbf5bc311
added workaround to libtool bug + config using non-spack launchmon
2014-03-14 11:06:23 -07:00
Gregory L. Lee
b104c3efce
initial stat creation
2014-03-14 08:42:08 -07:00
Gregory L. Lee
37d30f4886
removed curl -k hack after rebase with spack -k fix
2014-03-14 08:42:08 -07:00
Gregory L. Lee
f1f5a5a0bf
workarounds for bugs
2014-03-14 08:42:08 -07:00
Adam Moody
940dd829da
adding pmgr_collective
2014-03-14 08:42:08 -07:00
Todd Gamblin
47f0edcbe4
Add str() calls around messages in tty
2014-03-14 08:42:08 -07:00
Matthew LeGendre
db92db1c7a
Use unzip to unpackage .zip files
2014-03-14 08:42:07 -07:00
Todd Gamblin
40dda596a0
Support github URLs
2014-03-14 08:42:07 -07:00
Adam Moody
ab8e79fc2d
change rename to move in mirror creation
2014-03-14 08:42:07 -07:00
Gregory L. Lee
26b86db8a4
added mrnet and graphlib
2014-03-14 08:42:07 -07:00
Matthew LeGendre
008d7a3162
Change spindle package to use hardcoded LaunchMON path
2014-03-13 17:04:02 -07:00
Matthew LeGendre
6f43da74ed
Merge branch 'master' into spindle
2014-03-13 16:52:21 -07:00
Matthew LeGendre
bb9c5a19cf
Add build fix patch to launchmon
2014-03-13 16:38:34 -07:00
Todd Gamblin
7d655b5407
Add force_url option to launchmon for unversioned URL
2014-03-13 16:09:42 -07:00
Matthew LeGendre
5d96844e57
Add launchmon package to spack
2014-03-13 16:08:22 -07:00
Todd Gamblin
c3b72c3d7c
Added a force_url option for packages that do not have nice URLs
2014-03-13 16:08:07 -07:00
Adam Moody
03ee31e0e8
Merge branch 'master' of https://lc.llnl.gov/stash/scm/scale/spack
2014-03-13 15:56:44 -07:00
Adam Moody
fadd2032a3
adding pmgr_collective
2014-03-13 15:56:29 -07:00
Todd Gamblin
6058f7aac6
Add str() calls around messages in tty
2014-03-13 15:53:18 -07:00
Matthew LeGendre
67203f17e0
Merge branch 'master' into zippackages
2014-03-13 15:18:15 -07:00
Matthew LeGendre
15840cc677
Use unzip to unpackage .zip files
2014-03-13 15:17:26 -07:00
Todd Gamblin
77aeac6501
Support github URLs
2014-03-13 14:51:28 -07:00
Adam Moody
c3f3353de0
change rename to move in mirror creation
2014-03-13 14:43:26 -07:00
Matthew LeGendre
78abdcea16
add spindle package
2014-03-13 14:14:31 -07:00
Todd Gamblin
cf5e850f27
Add spack patch docs to build process section.
2014-02-10 09:58:09 -08:00
Todd Gamblin
7152c82ec7
Document mirrors and change mirror precedence.
2014-02-10 09:48:07 -08:00
Todd Gamblin
c9dc4636cc
Command to create spack mirrors.
2014-02-10 09:07:24 -08:00
Todd Gamblin
93e80852f5
Cleanup find_versions_of_archive.
...
- less kludgy matching -- we nw extract the version straight from a
capture group in the original match, rather than by trying to match
again.
- Avoids problems like finding "2" as the version in mvapich2-1.9, when
"2" here is part of the package name.
2014-02-09 09:11:12 -08:00
Todd Gamblin
be7e0a9604
Added docs for patching.
2014-02-08 19:29:33 -08:00
Todd Gamblin
36b6ad2242
started patch docs.
2014-02-08 18:57:04 -08:00
Adam Moody
10148ff802
add mvapich2 module
2014-02-08 18:13:42 -08:00
Todd Gamblin
b816f71f8c
Support for patches in packages.
...
- packages can provide patch() directive to specify a patch file that
should be applied to source code after expanding it and before
building.
- patches can have a when spec, so they're only applied under certain
conditions
- patches can be local files in the package's own directory, or they
can be URLs which will be fetched from the internet.
2014-02-08 18:11:54 -08:00
Todd Gamblin
9a29aa8d03
Packages can now live in directories, not just .py files.
...
This gives us a place to put patch files.
2014-02-08 15:18:24 -08:00
Todd Gamblin
f09c58549a
Fix regex used in find_versions_of_archive.
...
Fixes github issue #2 , as well as spack create for mvapich.
2014-02-07 10:36:58 -08:00
Todd Gamblin
3df638dd41
Add dirty options to create and checksum, like install.
2014-02-07 10:10:28 -08:00
Todd Gamblin
42610be2e5
Fix bugs that crept into spack clean when stage was refactored.
2014-02-07 09:28:50 -08:00
Todd Gamblin
19df908cb6
Make default spack text non-bold
2014-02-07 09:13:10 -08:00
jprotze
f6a484519e
fix alias naming
2014-02-07 14:19:16 +01:00
Todd Gamblin
73774c1249
Spack message text is just bold, not bold white now.
...
- added capability for just bold and just underline to color.py
- Make tty.msg() display bold text instead of bold white
2014-02-06 16:58:23 -08:00
Todd Gamblin
72f0192ddd
Fixed regressions.
2014-02-05 08:30:28 -08:00
Todd Gamblin
9e469c37c4
Bugfix in clean command.
2014-02-05 00:17:36 -08:00
Todd Gamblin
4a913cbbd0
Fix bug in make jobs parameter.
2014-02-05 00:17:36 -08:00
Todd Gamblin
a71c59d4fe
Fix Mac OS package icon.
2014-02-05 00:17:36 -08:00
Todd Gamblin
a6b24f85df
Architecture string can contain '.' now.
2014-02-05 00:17:35 -08:00
Todd Gamblin
14278fdf0a
Allow file URLs
2014-02-05 00:17:35 -08:00
Todd Gamblin
09300d9261
Ignore more errors when spidering.
2014-02-05 00:17:35 -08:00
Todd Gamblin
7290322d96
Fix spelling error in tmp dir
2014-02-05 00:17:35 -08:00
Todd Gamblin
badb130eff
Simplify redundant conditional.
2014-02-05 00:17:35 -08:00
Todd Gamblin
c0ea783310
Fix import bug.
2014-02-05 00:17:34 -08:00
Todd Gamblin
6d956f372f
Fix bug in staging.
...
- Stage needs to account for symlinks in self.tmp_dir
- Use os.realpath on self.tmp_dir when checking to see if a stage needs to be rebuilt
2014-02-05 00:17:34 -08:00
Todd Gamblin
03a32f0d5b
Can now mirror tarballs in a local directory.
...
- Can add tarballs to local directory; no longer have to download from source URL.
2014-02-05 00:17:34 -08:00
Gregory L. Lee
b4da28f71e
bug fixes
...
- Make prefix an actual string so that install doesn't fail.
- Executable should throw SpackError on command failure.
2014-01-23 01:30:44 -08:00
Todd Gamblin
8f7c92706f
More typo fixes
2014-01-15 00:46:05 -08:00
Todd Gamblin
cab94f86ee
typo fixes from Adam
2014-01-14 23:50:50 -08:00
Todd Gamblin
91d6f0b481
Developer documentation
2014-01-12 18:22:19 +01:00
Todd Gamblin
d18be7437f
Remove trailing whitespace from license text
2014-01-12 18:19:18 +01:00
Todd Gamblin
08a25adb2f
Site configuration docs
2014-01-11 20:42:48 +01:00
Todd Gamblin
72e54caf06
Add line to disable jekyll on github.
2014-01-09 18:18:38 +01:00
Todd Gamblin
912a87c868
Fix docs to account for license header.
2014-01-09 18:06:18 +01:00
Todd Gamblin
ad746bd686
Add a rule for automatically creating gh-pages from html docs.
2014-01-09 16:35:46 +01:00
Todd Gamblin
0b5d531f31
make empty _static directory "exist" to git
...
Sphinx really wants the _static directory to exist, but git doesn't.
This is a compromise to avoid superfluous warnings from sphinx.
See here:
http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository
2014-01-09 14:03:32 +01:00
Todd Gamblin
837fc18d14
Add release number to docs and license.
2014-01-08 11:23:15 +01:00
Todd Gamblin
402c158f3b
Change to github URL in docs.
2014-01-08 11:02:12 +01:00
Todd Gamblin
ce9b3511d0
Add license to python files and spack script.
2014-01-08 10:21:35 +01:00
Todd Gamblin
2f520d6119
Change multimethods to take first match instead of being rigid.
...
- Formerly required that one and only one spec match
- Now allows first match in a list (more flexible and more intuitive)
- introduces new bug that provides() doesn't do the correct thing
when a version is not in a range that has been explicitly provided.
- TODO: fix this.
2014-01-07 09:52:29 +01:00
Todd Gamblin
36e6ef9fbd
Packaging docs are mostly done.
2014-01-06 18:21:27 +01:00
Todd Gamblin
40229f6ed2
More packaging docs
2014-01-06 17:15:25 +01:00
Todd Gamblin
4c9c7ab65f
Local specs now called "anonymous specs"
...
- anonymous specs have no name
- "local spec" came from these first being used in multimethods, i.e. "name of the local Package"
- not the most intuitive name.
2014-01-06 15:18:15 +01:00
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
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
Todd Gamblin
db07c7f611
Spec constraints and normalization now work.
...
- Specs can be "constrained" by other specs, throw exceptions when constraint
can't be satisfied.
- Normalize will put a spec in DAG form and merge all package constraints with
the spec.
- Ready to add concretization policies for abstract specs now.
2013-10-15 03:04:25 -07:00
Todd Gamblin
3fb7699e1e
Command to launch interpreter with spack in sys.path
2013-10-11 23:24:06 -07:00
Todd Gamblin
09fd944de5
Command to run pydoc on spack classes.
2013-10-11 23:23:41 -07:00
Todd Gamblin
bb63327da0
Refactor utils into separate modules.
2013-10-07 18:54:58 -07:00
Todd Gamblin
f2046a4aa3
Start to make a bigger package out of utils.py
...
- moved none_compare functions to util.none_high
and util.none_low packages
- renamed utils.py to util package
2013-10-07 18:12:26 -07:00
Todd Gamblin
618571b807
Checkpoint commit: much-improved spec class.
...
Still organizing things.
2013-10-07 17:57:27 -07:00
Todd Gamblin
157737efbe
Add spec architeccture, redo color output support.
2013-06-29 15:59:43 -07:00
Todd Gamblin
ebc507dc6e
Clean up half-downloaded tarballs.
2013-06-29 15:59:08 -07:00
Todd Gamblin
7a67cc1675
Adding expression syntax for console colors.
2013-06-29 15:56:29 -07:00
Todd Gamblin
5c761aafab
Add checks for version 2.7
2013-06-02 13:54:46 -07:00
Todd Gamblin
8f37817ae1
Better error messages for spack list -v.
2013-05-17 16:56:00 -07:00
Todd Gamblin
57ef3b8a80
Ability to list versions from web page with spack list -v PACKAGE
...
Experimental feature automatically parses versions out of web pages and prints what
it thinks are avaialble versions of a package, e.g.:
$ spack list -v libunwind
1.1 1.0 0.98.6 0.98.4 0.98.2 0.98 0.96 0.93 0.91 0.1
1.0.1 0.99 0.98.5 0.98.3 0.98.1 0.97 0.95 0.92 0.9 0.0
2013-05-17 16:25:00 -07:00
Todd Gamblin
6e557798e8
Added command to print out URL and homepage.
2013-05-17 16:04:56 -07:00
Todd Gamblin
7c98ee9644
Renamed variables called 'spec' to 'path'
2013-05-17 10:38:39 -07:00
Todd Gamblin
eb0832e379
list_modules will now find directories.
2013-05-13 10:35:38 -07:00
Todd Gamblin
b2f78ef78e
Added EBNF grammar.
2013-05-12 19:30:55 -07:00
Todd Gamblin
b2a5fef6ad
Commands take specs as input instead of names.
...
modified clean, create, fetch, install, and uninstall
2013-05-12 14:17:38 -07:00
Todd Gamblin
ad4411bc9e
More rubust spec parsing and error messages
2013-05-12 11:10:36 -07:00
Todd Gamblin
c3f52f0200
Initial implementation of package specs, including parser.
...
spec.py can parse full dependence specs like this:
openmpi@1.4.3:1.4.5%intel+debug ^hwloc@1.2
These will be used to specify how to install packages and their dependencies,
as well as to specify restrictions (e.g., on particular versions) for
dependencies. e.g.:
class SomePackage(Package):
depends_on('boost@1.46 ,1.49')
This would require either of those two versions of boost.
This also moves depends_on out to relations.py and adds
"provides", which will allow packages to provide virtual
dependences.
This is just initial implementation of the parsing and objects
to represent specs. They're not integrated with packages yet.
2013-05-09 14:21:16 -07:00
Todd Gamblin
5dd2c53e38
Removed old versions.py
2013-05-09 14:19:03 -07:00
Todd Gamblin
1b1c1c07f9
Don't exit after one test.
2013-05-09 14:18:38 -07:00
Todd Gamblin
fd93d4c235
Changed class name.
2013-05-09 14:18:11 -07:00
Todd Gamblin
2df8a29b9b
Removed executable bit.
2013-05-09 14:15:38 -07:00
Todd Gamblin
50718fe57f
Tests can be run via spack test <test_name>
2013-04-28 11:27:33 -07:00
Todd Gamblin
422d291b11
This adds support for multi-platform methods.
...
You can now do this:
class MyPackage(Package):
def install(self):
...default install...
@platform('bgqos_0')
def install(self):
...specialized install for bgq...
This works on functions other than install, as well (as long as they're in a Package)
2013-04-04 10:22:49 -07:00
Todd Gamblin
e1551de976
Moved install-spack to its own simpler command.
2013-03-25 15:27:28 -07:00
Todd Gamblin
aa0fd6c17a
Fix in docs.
2013-03-22 16:24:44 -07:00
Todd Gamblin
269cf53a68
Documentation and small changes.
2013-03-22 13:46:01 -07:00
Todd Gamblin
e410df743a
Simpler implementation of depends_on.
2013-02-25 18:18:48 -08:00
Todd Gamblin
27b9204785
Better spack -h: added cmd descriptions.
...
- each cmd has a desscription attribute that is used for the help strign in argparse.
2013-02-22 00:20:24 -08:00
Todd Gamblin
707db8dafe
Better handling of stage.
...
- better symlink handling
- remove stage directories on successful install.
2013-02-21 23:03:40 -08:00
Todd Gamblin
5899308ad3
Parallel bootstrap for cmake.
2013-02-21 20:05:11 -08:00
Todd Gamblin
bd59689fdc
Minor changes; loosened up parallel build for dwarf.
2013-02-21 19:27:27 -08:00
Todd Gamblin
b39165b999
Fix regression in clean.
2013-02-21 19:10:28 -08:00
Todd Gamblin
2a908d6a0e
Added help command and purge command.
2013-02-21 19:05:56 -08:00
Todd Gamblin
705447bdc2
Use tmp directory for downloading and building
2013-02-21 19:05:16 -08:00
Todd Gamblin
1c4e16afdf
Fixed bug in parallel make option.
2013-02-20 15:44:25 -08:00
Todd Gamblin
fb172bc702
Added libunwind and fixed link issues in cc.
2013-02-20 15:22:00 -08:00
Todd Gamblin
48b0351945
Fixed passing of dependence prefixes to cc. libdwarf works.
2013-02-19 19:26:54 -08:00
Todd Gamblin
d534c539d4
Fixes, remove parallel build for libdwarf due to race case.
2013-02-19 17:08:38 -08:00
Todd Gamblin
7d9d4f3484
rpaths for dependencies. elf, dwarf, cmake build on Linux
2013-02-19 01:20:50 -08:00
Todd Gamblin
5d81cfdac6
Require python2.7
2013-02-18 23:52:50 -08:00
Todd Gamblin
38becacace
Dependencies now work. Added libelf, libdwarf.
2013-02-18 23:46:04 -08:00
Todd Gamblin
cc76c0f5f9
Initial version of spack with one package: cmake
2013-02-13 17:50:44 -08:00