Skip to content

Commit c65fd3a

Browse files
committed
Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
Conflicts: lib/spack/spack/cmd/create.py lib/spack/spack/cmd/extensions.py lib/spack/spack/cmd/fetch.py lib/spack/spack/cmd/uninstall.py lib/spack/spack/config.py lib/spack/spack/database.py lib/spack/spack/directory_layout.py lib/spack/spack/packages.py lib/spack/spack/spec.py
2 parents 34401cf + 28d61f0 commit c65fd3a

File tree

303 files changed

+4020
-804
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

303 files changed

+4020
-804
lines changed

.travis.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
language: python
2+
python:
3+
- "2.6"
4+
- "2.7"
5+
6+
# Use new Travis infrastructure (Docker can't sudo yet)
7+
sudo: false
8+
9+
# No need to install any deps.
10+
install: true
11+
12+
before_install:
13+
# Need this for the git tests to succeed.
14+
- git config --global user.email "[email protected]"
15+
- git config --global user.name "Test User"
16+
17+
script:
18+
- . share/spack/setup-env.sh
19+
- spack test
20+
21+
notifications:
22+
email:
23+
recipients:
24+
25+
on_success: change
26+
on_failure: always

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This file is part of Spack.
55
Written by Todd Gamblin, [email protected], All rights reserved.
66
LLNL-CODE-647188
77

8-
For details, see https://scalability-llnl.github.io/spack
8+
For details, see https://github.com/llnl/spack
99

1010
This program is free software; you can redistribute it and/or modify
1111
it under the terms of the GNU General Public License (as published by

README.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
![image](share/spack/logo/spack-logo-text-64.png "Spack")
22
============
33

4+
[![Build Status](https://travis-ci.org/LLNL/spack.png?branch=develop)](https://travis-ci.org/LLNL/spack)
5+
46
Spack is a package management tool designed to support multiple
57
versions and configurations of software on a wide variety of platforms
68
and environments. It was designed for large supercomputing centers,
@@ -17,20 +19,26 @@ written in pure Python, and specs allow package authors to write a
1719
single build script for many different builds of the same package.
1820

1921
See the
20-
[Feature Overview](http://scalability-llnl.github.io/spack/features.html)
22+
[Feature Overview](http://llnl.github.io/spack/features.html)
2123
for examples and highlights.
2224

2325
To install spack and install your first package:
2426

25-
$ git clone https://github.com/scalability-llnl/spack.git
27+
$ git clone https://github.com/llnl/spack.git
2628
$ cd spack/bin
2729
$ ./spack install libelf
2830

2931
Documentation
3032
----------------
3133

32-
[Full documentation](http://scalability-llnl.github.io/spack)
33-
for Spack is also available.
34+
[**Full documentation**](http://llnl.github.io/spack) for Spack is
35+
the first place to look.
36+
37+
See also:
38+
* [Technical paper](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf) and
39+
[slides](https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf) on Spack's design and implementation.
40+
* [Short presentation](https://tgamblin.github.io/files/Gamblin-Spack-Lightning-Talk-BOF-SC15.pdf) from the *Getting Scientific Software Installed* BOF session at Supercomputing 2015.
41+
3442

3543
Get Involved!
3644
------------------------
@@ -62,10 +70,19 @@ latest stable release.
6270

6371
Authors
6472
----------------
65-
Many thanks go to Spack's [contributors](https://github.com/scalability-llnl/spack/graphs/contributors).
73+
Many thanks go to Spack's [contributors](https://github.com/llnl/spack/graphs/contributors).
6674

6775
Spack was originally written by Todd Gamblin, [email protected].
6876

77+
### Citing Spack
78+
79+
If you are referencing Spack in a publication, please cite the following paper:
80+
81+
* Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee,
82+
Adam Moody, Bronis R. de Supinski, and W. Scott Futral.
83+
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
84+
In *Supercomputing 2015 (SC’15)*, Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
85+
6986
Release
7087
----------------
7188
Spack is released under an LGPL license. For more details see the

bin/spack

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Written by Todd Gamblin, [email protected], All rights reserved.
88
# LLNL-CODE-647188
99
#
10-
# For details, see https://scalability-llnl.github.io/spack
10+
# For details, see https://github.com/llnl/spack
1111
# Please also see the LICENSE file for our notice and the LGPL.
1212
#
1313
# This program is free software; you can redistribute it and/or modify
@@ -38,6 +38,23 @@ SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
3838
# Allow spack libs to be imported in our scripts
3939
SPACK_LIB_PATH = os.path.join(SPACK_PREFIX, "lib", "spack")
4040
sys.path.insert(0, SPACK_LIB_PATH)
41+
SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
42+
sys.path.insert(0, SPACK_EXTERNAL_LIBS)
43+
44+
# Quick and dirty check to clean orphaned .pyc files left over from
45+
# previous revisions. These files were present in earlier versions of
46+
# Spack, were removed, but shadow system modules that Spack still
47+
# imports. If we leave them, Spack will fail in mysterious ways.
48+
# TODO: more elegant solution for orphaned pyc files.
49+
orphaned_pyc_files = [os.path.join(SPACK_EXTERNAL_LIBS, n)
50+
for n in ('functools.pyc', 'ordereddict.pyc')]
51+
for pyc_file in orphaned_pyc_files:
52+
if not os.path.exists(pyc_file):
53+
continue
54+
try:
55+
os.remove(pyc_file)
56+
except OSError as e:
57+
print "WARNING: Spack may fail mysteriously. Couldn't remove orphaned .pyc file: %s" % pyc
4158

4259
# If there is no working directory, use the spack prefix.
4360
try:
@@ -72,6 +89,8 @@ spec expressions:
7289

7390
parser.add_argument('-d', '--debug', action='store_true',
7491
help="Write out debug logs during compile")
92+
parser.add_argument('-D', '--pdb', action='store_true',
93+
help="Run spack under the pdb debugger")
7594
parser.add_argument('-k', '--insecure', action='store_true',
7695
help="Do not check ssl certificates when downloading.")
7796
parser.add_argument('-m', '--mock', action='store_true',
@@ -131,7 +150,7 @@ def main():
131150
sys.stderr.write('\n')
132151
tty.die("Keyboard interrupt.")
133152

134-
# Allow commands to return values if they want to exit with some ohter code.
153+
# Allow commands to return values if they want to exit with some other code.
135154
if return_val is None:
136155
sys.exit(0)
137156
elif isinstance(return_val, int):
@@ -142,5 +161,8 @@ def main():
142161
if args.profile:
143162
import cProfile
144163
cProfile.run('main()', sort='tottime')
164+
elif args.pdb:
165+
import pdb
166+
pdb.run('main()')
145167
else:
146168
main()

bin/spack-python

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Written by Todd Gamblin, [email protected], All rights reserved.
88
# LLNL-CODE-647188
99
#
10-
# For details, see https://scalability-llnl.github.io/spack
10+
# For details, see https://github.com/llnl/spack
1111
# Please also see the LICENSE file for our notice and the LGPL.
1212
#
1313
# This program is free software; you can redistribute it and/or modify

lib/spack/docs/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Written by Todd Gamblin, [email protected], All rights reserved.
77
# LLNL-CODE-647188
88
#
9-
# For details, see https://scalability-llnl.github.io/spack
9+
# For details, see https://github.com/llnl/spack
1010
# Please also see the LICENSE file for our notice and the LGPL.
1111
#
1212
# This program is free software; you can redistribute it and/or modify
@@ -43,6 +43,7 @@
4343
# add these directories to sys.path here. If the directory is relative to the
4444
# documentation root, use os.path.abspath to make it absolute, like shown here.
4545
sys.path.insert(0, os.path.abspath('exts'))
46+
sys.path.insert(0, os.path.abspath('../external'))
4647

4748
# Add the Spack bin directory to the path so that we can use its output in docs.
4849
spack_root = '../../..'

lib/spack/docs/exts/sphinxcontrib/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Written by Todd Gamblin, [email protected], All rights reserved.
77
# LLNL-CODE-647188
88
#
9-
# For details, see https://scalability-llnl.github.io/spack
9+
# For details, see https://github.com/llnl/spack
1010
# Please also see the LICENSE file for our notice and the LGPL.
1111
#
1212
# This program is free software; you can redistribute it and/or modify

lib/spack/docs/exts/sphinxcontrib/programoutput.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Written by Todd Gamblin, [email protected], All rights reserved.
77
# LLNL-CODE-647188
88
#
9-
# For details, see https://scalability-llnl.github.io/spack
9+
# For details, see https://github.com/llnl/spack
1010
# Please also see the LICENSE file for our notice and the LGPL.
1111
#
1212
# This program is free software; you can redistribute it and/or modify

lib/spack/docs/getting_started.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ Download
55
--------------------
66

77
Getting spack is easy. You can clone it from the `github repository
8-
<https://github.com/scalability-llnl/spack>`_ using this command:
8+
<https://github.com/llnl/spack>`_ using this command:
99

1010
.. code-block:: sh
1111
12-
$ git clone https://github.com/scalability-llnl/spack.git
12+
$ git clone https://github.com/llnl/spack.git
1313
1414
This will create a directory called ``spack``. We'll assume that the
1515
full path to this directory is in the ``SPACK_ROOT`` environment
@@ -22,7 +22,7 @@ go:
2222
$ spack install libelf
2323
2424
For a richer experience, use Spack's `shell support
25-
<http://scalability-llnl.github.io/spack/basic_usage.html#environment-modules>`_:
25+
<http://llnl.github.io/spack/basic_usage.html#environment-modules>`_:
2626

2727
.. code-block:: sh
2828

lib/spack/docs/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ maintain a single file for many different builds of the same package.
2424
See the :doc:`features` for examples and highlights.
2525

2626
Get spack from the `github repository
27-
<https://github.com/scalability-llnl/spack>`_ and install your first
27+
<https://github.com/llnl/spack>`_ and install your first
2828
package:
2929

3030
.. code-block:: sh
3131
32-
$ git clone https://github.com/scalability-llnl/spack.git
32+
$ git clone https://github.com/llnl/spack.git
3333
$ cd spack/bin
3434
$ ./spack install libelf
3535

0 commit comments

Comments
 (0)