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