Commit graph

259 commits

Author SHA1 Message Date
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