aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/early.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/early.go')
-rw-r--r--internal/early.go22
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
+}