Fixes <https://bugs.gnu.org/53238>, et.al. * gnu/packages/patches/password-store-tree-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/password-utils.scm (password-store)[source](patches): New field.
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Tree 2.0 and later will unconditionally ignore all options and write
 | |
| JSON data on file descriptor 3 when available, which causes problems
 | |
| for the test harness and other scripts that use FD 3.  Work around by
 | |
| closing descriptor 3 for the 'tree' command.
 | |
| 
 | |
| Taken from upstream:
 | |
|   https://git.zx2c4.com/password-store/commit/?id=eea24967a002a2a81ae9b97a1fe972b5287f3a09
 | |
| 
 | |
| diff --git a/src/password-store.sh b/src/password-store.sh
 | |
| --- a/src/password-store.sh
 | |
| +++ b/src/password-store.sh
 | |
| @@ -402,7 +402,7 @@ cmd_show() {
 | |
|  		else
 | |
|  			echo "${path%\/}"
 | |
|  		fi
 | |
| -		tree -N -C -l --noreport "$PREFIX/$path" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors
 | |
| +		tree -N -C -l --noreport "$PREFIX/$path" 3>&- | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors
 | |
|  	elif [[ -z $path ]]; then
 | |
|  		die "Error: password store is empty. Try \"pass init\"."
 | |
|  	else
 | |
| @@ -414,7 +414,7 @@ cmd_find() {
 | |
|  	[[ $# -eq 0 ]] && die "Usage: $PROGRAM $COMMAND pass-names..."
 | |
|  	IFS="," eval 'echo "Search Terms: $*"'
 | |
|  	local terms="*$(printf '%s*|*' "$@")"
 | |
| -	tree -N -C -l --noreport -P "${terms%|*}" --prune --matchdirs --ignore-case "$PREFIX" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g'
 | |
| +	tree -N -C -l --noreport -P "${terms%|*}" --prune --matchdirs --ignore-case "$PREFIX" 3>&- | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g'
 | |
|  }
 | |
|  
 | |
|  cmd_grep() {
 |