public inbox for goredo-devel@lists.stargrave.org
Atom feed
From: "ser.goredo=ser1.net via" <goredo-devel@lists.stargrave.org>
To: goredo-devel@lists.stargrave.org
Subject: [PATCH] REDO_SHELL sets which shell goredo uses. Some OSes change which shell /bin/sh points to; on Arch, it's bash. On Debian (on some forks, at least), it's dash. These shells are incompatible, esp about topics like variable expansion. With REDO_SHELL, users can set which shell goredo forks and ensure builds run.
Date: Tue, 13 Oct 2026 09:02:22 -0700	[thread overview]
Message-ID: <20261013160546.1791075-2-ser.goredo@ser1.net> (raw)
In-Reply-To: <20261013160546.1791075-1-ser.goredo@ser1.net>

From: "Sean E. Russell" <ser@ser1•net>

---
 main.go | 3 +++
 run.go  | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/main.go b/main.go
index 9bd7766..9c10a75 100644
--- a/main.go
+++ b/main.go
@@ -223,6 +223,9 @@ func main() {
 	default:
 		log.Fatalln("unknown", EnvInodeTrust, "value")
 	}
+	if os.Getenv(EnvShell) != "" {
+		Shell = os.Getenv(EnvShell)
+	}
 
 	// Those are internal envs
 	FdOODTgts, err = os.CreateTemp("", "ood-tgts")
diff --git a/run.go b/run.go
index 3f19556..8ab764c 100644
--- a/run.go
+++ b/run.go
@@ -54,6 +54,7 @@ const (
 	EnvStderrSilent = "REDO_SILENT"
 	EnvNoSync       = "REDO_NO_SYNC"
 	EnvStopIfMod    = "REDO_STOP_IF_MODIFIED"
+	EnvShell        = "REDO_SHELL"
 
 	RedoDir      = ".redo"
 	LockSuffix   = ".lock"
@@ -72,6 +73,7 @@ var (
 	Jobs         sync.WaitGroup
 	TmpsToClean  = make(map[string]struct{})
 	TmpsToCleanM sync.Mutex
+	Shell        = "/bin/sh"
 
 	flagTrace          *bool
 	flagTraceAll       *bool
@@ -391,7 +393,7 @@ func runScript(tgt *Tgt, errs chan error, forced, traced bool) error {
 		cmdName = doFile.a
 		args = make([]string, 0, 3)
 	} else {
-		cmdName = "/bin/sh"
+		cmdName = Shell
 		if traced || TracedAll {
 			args = append(args, "-ex")
 		} else {
-- 
2.56.0


  reply	other threads:[~2026-10-13 16:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-13 16:02 [PATCH] REDO_SHELL sets which shell goredo uses ser.goredo=ser1.net via
2026-10-13 16:02 ` ser.goredo=ser1.net via [this message]
2026-10-14 14:05 ` Sergey Matveev (stargrave=stargrave.org) via
2026-10-14 16:08   ` "Sean E. Russell" (ser.goredo=ser1.net) via
2026-10-16  8:43     ` Sergey Matveev (stargrave=stargrave.org) via
2026-10-16  9:37     ` Authenticating the tarballs and website Sergey Matveev (stargrave=stargrave.org) via
2026-10-16 23:20       ` "Sean E. Russell" (ser=ser1.net) via
2026-10-17  7:02         ` Sergey Matveev (stargrave=stargrave.org) via