diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-10-07 21:29:16 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-10-07 21:29:16 +0900 |
| commit | 5d18af00077ae6ba8ef686d1fd93d888f69681b2 (patch) | |
| tree | eff32422fe3ef095c6a915ccb41c2a10a06990f7 /container/path.go | |
| parent | 0e6c1a50260de141c50bb50fd3f2b2bcf9a3fe64 (diff) | |
container/fhs: move pathname constants
This allows referencing FHS pathnames without importing container.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/path.go')
| -rw-r--r-- | container/path.go | 79 |
1 files changed, 4 insertions, 75 deletions
diff --git a/container/path.go b/container/path.go index bf3f870d..bc0000ad 100644 --- a/container/path.go +++ b/container/path.go @@ -8,90 +8,19 @@ import ( "strconv" "strings" "syscall" - _ "unsafe" - "hakurei.app/container/check" + "hakurei.app/container/fhs" "hakurei.app/container/vfs" ) -/* constants in this file bypass abs check, be extremely careful when changing them! */ - -//go:linkname unsafeAbs hakurei.app/container/check.unsafeAbs -func unsafeAbs(_ string) *check.Absolute - -const ( - // FHSRoot points to the file system root. - FHSRoot = "/" - // FHSEtc points to the directory for system-specific configuration. - FHSEtc = "/etc/" - // FHSTmp points to the place for small temporary files. - FHSTmp = "/tmp/" - - // FHSRun points to a "tmpfs" file system for system packages to place runtime data, socket files, and similar. - FHSRun = "/run/" - // FHSRunUser points to a directory containing per-user runtime directories, - // each usually individually mounted "tmpfs" instances. - FHSRunUser = FHSRun + "user/" - - // FHSUsr points to vendor-supplied operating system resources. - FHSUsr = "/usr/" - // FHSUsrBin points to binaries and executables for user commands that shall appear in the $PATH search path. - FHSUsrBin = FHSUsr + "bin/" - - // FHSVar points to persistent, variable system data. Writable during normal system operation. - FHSVar = "/var/" - // FHSVarLib points to persistent system data. - FHSVarLib = FHSVar + "lib/" - // FHSVarEmpty points to a nonstandard directory that is usually empty. - FHSVarEmpty = FHSVar + "empty/" - - // FHSDev points to the root directory for device nodes. - FHSDev = "/dev/" - // FHSProc points to a virtual kernel file system exposing the process list and other functionality. - FHSProc = "/proc/" - // FHSProcSys points to a hierarchy below /proc/ that exposes a number of kernel tunables. - FHSProcSys = FHSProc + "sys/" - // FHSSys points to a virtual kernel file system exposing discovered devices and other functionality. - FHSSys = "/sys/" -) - -var ( - // AbsFHSRoot is [FHSRoot] as [Absolute]. - AbsFHSRoot = unsafeAbs(FHSRoot) - // AbsFHSEtc is [FHSEtc] as [Absolute]. - AbsFHSEtc = unsafeAbs(FHSEtc) - // AbsFHSTmp is [FHSTmp] as [Absolute]. - AbsFHSTmp = unsafeAbs(FHSTmp) - - // AbsFHSRun is [FHSRun] as [Absolute]. - AbsFHSRun = unsafeAbs(FHSRun) - // AbsFHSRunUser is [FHSRunUser] as [Absolute]. - AbsFHSRunUser = unsafeAbs(FHSRunUser) - - // AbsFHSUsrBin is [FHSUsrBin] as [Absolute]. - AbsFHSUsrBin = unsafeAbs(FHSUsrBin) - - // AbsFHSVar is [FHSVar] as [Absolute]. - AbsFHSVar = unsafeAbs(FHSVar) - // AbsFHSVarLib is [FHSVarLib] as [Absolute]. - AbsFHSVarLib = unsafeAbs(FHSVarLib) - - // AbsFHSDev is [FHSDev] as [Absolute]. - AbsFHSDev = unsafeAbs(FHSDev) - // AbsFHSProc is [FHSProc] as [Absolute]. - AbsFHSProc = unsafeAbs(FHSProc) - // AbsFHSSys is [FHSSys] as [Absolute]. - AbsFHSSys = unsafeAbs(FHSSys) -) - const ( // Nonexistent is a path that cannot exist. // /proc is chosen because a system with covered /proc is unsupported by this package. - Nonexistent = FHSProc + "nonexistent" + Nonexistent = fhs.Proc + "nonexistent" - hostPath = FHSRoot + hostDir + hostPath = fhs.Root + hostDir hostDir = "host" - sysrootPath = FHSRoot + sysrootDir + sysrootPath = fhs.Root + sysrootDir sysrootDir = "sysroot" ) |
