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>
This commit is contained in:

committed by
Greg Becker

parent
106ae7abe6
commit
a18a0e7a47
@@ -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
|
||||
|
Reference in New Issue
Block a user