diff options
Diffstat (limited to 'internal/early.go')
| -rw-r--r-- | internal/early.go | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/internal/early.go b/internal/early.go index 48dfcd54..218105f2 100644 --- a/internal/early.go +++ b/internal/early.go @@ -1,16 +1,34 @@ package internal import ( + "errors" "fmt" + "io/fs" + "os" +) - "git.ophivana.moe/cat/fortify/internal/util" +const ( + systemdCheckPath = "/run/systemd/system" ) var SdBootedV = func() bool { - if v, err := util.SdBooted(); err != nil { + if v, err := SdBooted(); err != nil { fmt.Println("warn: read systemd marker:", err) return false } else { return v } }() + +// SdBooted implements https://www.freedesktop.org/software/systemd/man/sd_booted.html +func SdBooted() (bool, error) { + _, err := os.Stat(systemdCheckPath) + if err != nil { + if errors.Is(err, fs.ErrNotExist) { + err = nil + } + return false, err + } + + return true, nil +} |
