diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2021-12-23 13:45:06 -0800 |
---|---|---|
committer | Greg Becker <becker33@llnl.gov> | 2022-01-12 06:14:18 -0800 |
commit | a18a0e7a47ca20c9745e2dfc12f7dbc1f47253b1 (patch) | |
tree | bc92d5c0ad393673b964044bd6032b0bba335a4c /share | |
parent | 106ae7abe64f021bd151db65f76093c1f9298a78 (diff) | |
download | spack-a18a0e7a47ca20c9745e2dfc12f7dbc1f47253b1.tar.gz spack-a18a0e7a47ca20c9745e2dfc12f7dbc1f47253b1.tar.bz2 spack-a18a0e7a47ca20c9745e2dfc12f7dbc1f47253b1.tar.xz spack-a18a0e7a47ca20c9745e2dfc12f7dbc1f47253b1.zip |
commands: add `spack pkg source` and `spack pkg hash`
To make it easier to see how package hashes change and how they are computed, add two
commands:
* `spack pkg source <spec>`: dumps source code for a package to the terminal
* `spack pkg source --canonical <spec>`: dumps canonicalized source code for a
package to the terminal. It strips comments, directives, and known-unused
multimethods from the package. It is used to generate package hashes.
* `spack pkg hash <spec>`: This gives the package hash for a particular spec.
It is generated from the canonical source code for the spec.
- [x] `add spack pkg source` and `spack pkg hash`
- [x] add tests
- [x] fix bug in multimethod resolution with boolean `@when` values
Co-authored-by: Greg Becker <becker33@llnl.gov>
Diffstat (limited to 'share')
-rwxr-xr-x | share/spack/spack-completion.bash | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 08ea6751f3..65866a5099 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -1444,7 +1444,7 @@ _spack_pkg() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="add list diff added changed removed" + SPACK_COMPREPLY="add list diff added changed removed source hash" fi } @@ -1502,6 +1502,24 @@ _spack_pkg_removed() { fi } +_spack_pkg_source() { + if $list_options + then + SPACK_COMPREPLY="-h --help -c --canonical" + else + _all_packages + fi +} + +_spack_pkg_hash() { + if $list_options + then + SPACK_COMPREPLY="-h --help" + else + _all_packages + fi +} + _spack_providers() { if $list_options then |