* Methods setting the environment now do it separately for build and run
Before this commit the `*_environment` methods were setting
modifications to both the build-time and run-time environment
simultaneously. This might cause issues as the two environments
inherently rely on different preconditions:
1. The build-time environment is set before building a package, thus
the package prefix doesn't exist and can't be inspected
2. The run-time environment instead is set assuming the target package
has been already installed
Here we split each of these functions into two: one setting the
build-time environment, one the run-time.
We also adopt a fallback strategy that inspects for old methods and
executes them as before, but prints a deprecation warning to tty. This
permits to port packages to use the new methods in a distributed way,
rather than having to modify all the packages at once.
* Added a test that fails if any package uses the old API
Marked the test xfail for now as we have a lot of packages in that
state.
* Added a test to check that a package modified by a PR is up to date
This test can be used any time we deprecate a method call to ensure
that during the first modification of the package we update also
the deprecated calls.
* Updated documentation
We'd like to use a consistent checksum scheme everywhere so that we can:
a) incorporate archive checksums into our specs and have a
consistent hashing algorithm across all specs.
b) index mirrors with a consistent type of checksum, and not one that
is dependent on how spack packages are written.
- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
- core and most packages are (Apache-2.0 OR MIT)
- a very small number of remaining packages are LGPL-2.1-only
* dockbook: remove update to dependent environment
Remove override of setup_dependent_environment in both docbook-xml
and docbook-xsl, which seems to generate a warning from spack about
"Suspicious requests to set or unset 'XML_CATLOG_FILES' found."
* flux: update version/dependencies to 0.8.0
Update flux-core to v0.8.0. Clean up dependencies and remove unneeded
extra invocation of ./autogen.sh when building from @master.
* flux: modify environment for Lua tests
Modify Spack environment to add `./?.lua` to LUA_PATH so that
fluxometer.lua can be found by tests during `make check` run
from `spack install --tests all flux`
* flux: fix broken flux version when on master
When building @master with spack, the flux version test from
`make check` fails because spack is using a shallow clone. Add
a setup section for @master that calls git pull --depth=50 --tags
to pull down tags and (hopefully) enough information for git-describe
to work properly.
* update flux dependencies and package
* refinements from @adamjstewart
* fix flux document generation
The docbook-xsl package has been added, and correctly configures catalog
files to generate documentation correctly with asciidoc.
'-t' is not supported by the default cp on Mac OS X
replace with install/install_tree
cannot just use install_tree since shutil.copytree insists that the dst
directory not exist
Package repositories now look like this:
top-level-dir/
repo.yaml
packages/
libelf/
package.py
mpich/
package.py
...
This leaves room at the top level for additional metadata, source,
per-repo configs, indexes, etc., and it makes it easy to see that
something is a spack repo (just look for repo.yaml and packages).