diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-08-03 20:46:41 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-08-03 21:16:45 +0900 |
| commit | c6be82bcf91fc4b6e61d9df40213e80367addbd8 (patch) | |
| tree | ee245cf214ff845f0d8a3eac0cc1a6064107112d /cmd/hpkg | |
| parent | 38245559dca0833dc078b982d59490eee53e168c (diff) | |
container/path: fhs path constants
This increases readability since this can help disambiguate absolute paths from similarly named path segments.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/hpkg')
| -rw-r--r-- | cmd/hpkg/app.go | 19 | ||||
| -rw-r--r-- | cmd/hpkg/main.go | 13 | ||||
| -rw-r--r-- | cmd/hpkg/paths.go | 3 | ||||
| -rw-r--r-- | cmd/hpkg/with.go | 15 |
4 files changed, 27 insertions, 23 deletions
diff --git a/cmd/hpkg/app.go b/cmd/hpkg/app.go index 082bc28e..fb784d73 100644 --- a/cmd/hpkg/app.go +++ b/cmd/hpkg/app.go @@ -6,6 +6,7 @@ import ( "os" "path" + "hakurei.app/container" "hakurei.app/container/seccomp" "hakurei.app/hst" "hakurei.app/system" @@ -94,17 +95,17 @@ func (app *appInfo) toFst(pathSet *appPathSet, argv []string, flagDropShell bool Filesystem: []*hst.FilesystemConfig{ {Src: path.Join(pathSet.nixPath, "store"), Dst: "/nix/store", Must: true}, {Src: pathSet.metaPath, Dst: path.Join(hst.Tmp, "app"), Must: true}, - {Src: "/etc/resolv.conf"}, - {Src: "/sys/block"}, - {Src: "/sys/bus"}, - {Src: "/sys/class"}, - {Src: "/sys/dev"}, - {Src: "/sys/devices"}, + {Src: container.FHSEtc + "resolv.conf"}, + {Src: container.FHSSys + "block"}, + {Src: container.FHSSys + "bus"}, + {Src: container.FHSSys + "class"}, + {Src: container.FHSSys + "dev"}, + {Src: container.FHSSys + "devices"}, }, Link: [][2]string{ - {app.CurrentSystem, "/run/current-system"}, - {"/run/current-system/sw/bin", "/bin"}, - {"/run/current-system/sw/bin", "/usr/bin"}, + {app.CurrentSystem, container.FHSRun + "current-system"}, + {container.FHSRun + "current-system/sw/bin", "/bin"}, + {container.FHSRun + "current-system/sw/bin", container.FHSUsrBin}, }, Etc: path.Join(pathSet.cacheDir, "etc"), AutoEtc: true, diff --git a/cmd/hpkg/main.go b/cmd/hpkg/main.go index d808aa01..728ee14e 100644 --- a/cmd/hpkg/main.go +++ b/cmd/hpkg/main.go @@ -11,6 +11,7 @@ import ( "syscall" "hakurei.app/command" + "hakurei.app/container" "hakurei.app/hst" "hakurei.app/internal" "hakurei.app/internal/hlog" @@ -275,12 +276,12 @@ func main() { "path:" + a.NixGL + "#nixVulkanNvidia", }, true, func(config *hst.Config) *hst.Config { config.Container.Filesystem = append(config.Container.Filesystem, []*hst.FilesystemConfig{ - {Src: "/etc/resolv.conf"}, - {Src: "/sys/block"}, - {Src: "/sys/bus"}, - {Src: "/sys/class"}, - {Src: "/sys/dev"}, - {Src: "/sys/devices"}, + {Src: container.FHSEtc + "resolv.conf"}, + {Src: container.FHSSys + "block"}, + {Src: container.FHSSys + "bus"}, + {Src: container.FHSSys + "class"}, + {Src: container.FHSSys + "dev"}, + {Src: container.FHSSys + "devices"}, }...) appendGPUFilesystem(config) return config diff --git a/cmd/hpkg/paths.go b/cmd/hpkg/paths.go index 11715fb2..b7cc926a 100644 --- a/cmd/hpkg/paths.go +++ b/cmd/hpkg/paths.go @@ -8,6 +8,7 @@ import ( "strconv" "sync/atomic" + "hakurei.app/container" "hakurei.app/hst" "hakurei.app/internal/hlog" ) @@ -21,7 +22,7 @@ func init() { if p, ok := os.LookupEnv("HAKUREI_DATA_HOME"); ok { dataHome = p } else { - dataHome = "/var/lib/hakurei/" + strconv.Itoa(os.Getuid()) + dataHome = container.FHSVarLib + "hakurei/" + strconv.Itoa(os.Getuid()) } } diff --git a/cmd/hpkg/with.go b/cmd/hpkg/with.go index 7d9fc7b8..444b4e7e 100644 --- a/cmd/hpkg/with.go +++ b/cmd/hpkg/with.go @@ -5,6 +5,7 @@ import ( "path" "strings" + "hakurei.app/container" "hakurei.app/container/seccomp" "hakurei.app/hst" "hakurei.app/internal" @@ -52,9 +53,9 @@ func withNixDaemon( {Src: pathSet.nixPath, Dst: "/nix", Write: true, Must: true}, }, Link: [][2]string{ - {app.CurrentSystem, "/run/current-system"}, - {"/run/current-system/sw/bin", "/bin"}, - {"/run/current-system/sw/bin", "/usr/bin"}, + {app.CurrentSystem, container.FHSRun + "current-system"}, + {container.FHSRun + "current-system/sw/bin", "/bin"}, + {container.FHSRun + "current-system/sw/bin", container.FHSUsrBin}, }, Etc: path.Join(pathSet.cacheDir, "etc"), AutoEtc: true, @@ -93,11 +94,11 @@ func withCacheDir( {Src: workDir, Dst: path.Join(hst.Tmp, "bundle"), Must: true}, }, Link: [][2]string{ - {app.CurrentSystem, "/run/current-system"}, - {"/run/current-system/sw/bin", "/bin"}, - {"/run/current-system/sw/bin", "/usr/bin"}, + {app.CurrentSystem, container.FHSRun + "current-system"}, + {container.FHSRun + "current-system/sw/bin", "/bin"}, + {container.FHSRun + "current-system/sw/bin", container.FHSUsrBin}, }, - Etc: path.Join(workDir, "etc"), + Etc: path.Join(workDir, container.FHSEtc), AutoEtc: true, }, }, dropShell, beforeFail) |
