]> source.dussan.org Git - gitea.git/commitdiff
Warn at startup if the provided `SCRIPT_TYPE` is not on the PATH (#18467)
authorzeripath <art27@cantab.net>
Sun, 30 Jan 2022 16:33:36 +0000 (16:33 +0000)
committerGitHub <noreply@github.com>
Sun, 30 Jan 2022 16:33:36 +0000 (16:33 +0000)
Several users run Gitea in situations whereby `bash` is not available.
If the `SCRIPT_TYPE` is not changed this will cause hooks to fail.
A simple test to check if the provided type is on the PATH should be
sufficient to warn them about this problem.

Signed-off-by: Andrew Thornton <art27@cantab.net>
modules/setting/repository.go

index d2c0e205d5e0de39aaee3a94ed53c49eb62244b1..f4a2f4ad66a8246adff586a0cb42049d96587a3d 100644 (file)
@@ -5,6 +5,7 @@
 package setting
 
 import (
+       "os/exec"
        "path"
        "path/filepath"
        "strings"
@@ -278,6 +279,10 @@ func newRepository() {
        }
        ScriptType = sec.Key("SCRIPT_TYPE").MustString("bash")
 
+       if _, err := exec.LookPath(ScriptType); err != nil {
+               log.Warn("SCRIPT_TYPE %q is not on the current PATH. Are you sure that this is the correct SCRIPT_TYPE?", ScriptType)
+       }
+
        if err = Cfg.Section("repository").MapTo(&Repository); err != nil {
                log.Fatal("Failed to map Repository settings: %v", err)
        } else if err = Cfg.Section("repository.editor").MapTo(&Repository.Editor); err != nil {