spack/lib/spack/docs
Greg Becker c9e01ff9d7 shell support: spack load no longer needs modules (#14062)
Previously the `spack load` command was a wrapper around `module load`. This required some bootstrapping of modules to make `spack load` work properly.

With this PR, the `spack` shell function handles the environment modifications necessary to add packages to your user environment. This removes the dependence on environment modules or lmod and removes the requirement to bootstrap spack (beyond using the setup-env scripts).

Included in this PR is support for MacOS when using Apple's System Integrity Protection (SIP), which is enabled by default in modern MacOS versions. SIP clears the `LD_LIBRARY_PATH` and `DYLD_LIBRARY_PATH` variables on process startup for executables that live in `/usr` (but not '/usr/local', `/System`, `/bin`, and `/sbin` among other system locations. Spack cannot know the `LD_LIBRARY_PATH` of the calling process when executed using `/bin/sh` and `/usr/bin/python`. The `spack` shell function now manually forwards these two variables, if they are present, as `SPACK_<VAR>` and recovers those values on startup.

- [x] spack load/unload no longer delegate to modules
- [x] refactor user_environment modification calculations
- [x] update documentation for spack load/unload

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 22:36:02 -08:00
..
_gh_pages_redirect
_static
build_systems copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
example_files Implement an optional compiler bootstrapping phase 2019-09-13 22:57:15 -07:00
_spack_root docs: make docs build relocatable for localized builds 2019-05-26 18:23:44 -07:00
.gitignore tutorial: move tutorial to standalone site (#13450) 2019-10-25 21:49:27 -07:00
basic_usage.rst shell support: spack load no longer needs modules (#14062) 2020-01-22 22:36:02 -08:00
binary_caches.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
build_settings.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
build_systems.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
chain.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
command_index.in Rework command reference in docs, add spack commands command 2018-02-12 20:25:17 -08:00
conf.py copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
config_yaml.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
configuration.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
contribution_guide.rst tests: improved spack test command line options 2020-01-01 21:37:02 -08:00
developer_guide.rst tests: improved spack test command line options 2020-01-01 21:37:02 -08:00
docker_for_developers.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
environments.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
extensions.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
features.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
getting_started.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
index.rst pipelines: spack ci command with env-based workflow (#12854) 2020-01-21 22:35:18 -08:00
known_issues.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
Makefile docs: match ReadTheDocs; use -W (warnings as errors) with Sphinx 2019-05-26 18:23:44 -07:00
mirrors.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
module_file_generation.svg SC17: reworked module file tutorial section (#5657) 2017-11-12 00:27:20 -08:00
module_file_support.rst shell support: spack load no longer needs modules (#14062) 2020-01-22 22:36:02 -08:00
package_list.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
packaging_guide.rst Spack can automatically remove unused specs (#13534) 2020-01-07 08:16:54 -08:00
pipelines.rst pipelines: spack ci command with env-based workflow (#12854) 2020-01-21 22:35:18 -08:00
repositories.rst copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
requirements.txt Docs: unlock requirement versions (#13384) 2019-10-31 14:21:05 -05:00
spack.yaml copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
workflows.rst shell support: spack load no longer needs modules (#14062) 2020-01-22 22:36:02 -08:00