aboutsummaryrefslogtreecommitdiffstats
path: root/community/fzf/do-not-require-bash-by-default.patch
blob: 2eaf69f522094b02ac733dc7abf4f05bfe1f8a1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
The default fzf command (i.e. if FZF_DEFAULT_COMMAND is not set) uses
`set -o pipefail`. If this default command is used, fzf forces execution
of this command with bash as pipefail is a bash extension. We want to
make fzf work by default and do not want to force a dependency on bash.
Fourtunatly, busybox ash (our default shell) also supports the pipefail
option. As such, we can simply execute the default command with ash
instead of bash.

diff -upr fzf-0.27.0.orig/src/reader.go fzf-0.27.0/src/reader.go
--- fzf-0.27.0.orig/src/reader.go	2021-04-08 17:32:00.960374521 +0200
+++ fzf-0.27.0/src/reader.go	2021-04-08 17:34:00.764210636 +0200
@@ -98,8 +98,8 @@ func (r *Reader) ReadSource() {
 	r.startEventPoller()
 	var success bool
 	if util.IsTty() {
-		// The default command for *nix requires bash
-		shell := "bash"
+		// The default command for *nix requires pipefail support
+		shell := "ash"
 		cmd := os.Getenv("FZF_DEFAULT_COMMAND")
 		if len(cmd) == 0 {
 			if defaultCommand != "" {