From cb618093d5a2156e6c5a03eaf8ca7d370bf33740 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Fri, 19 Jun 2026 23:41:36 +0900 Subject: hst: optionally disable file placement This works around stubborn package managers. Signed-off-by: Ophestra --- internal/outcome/spaccount.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'internal/outcome/spaccount.go') diff --git a/internal/outcome/spaccount.go b/internal/outcome/spaccount.go index 1a849cb5..ccc64479 100644 --- a/internal/outcome/spaccount.go +++ b/internal/outcome/spaccount.go @@ -6,6 +6,7 @@ import ( "syscall" "hakurei.app/fhs" + "hakurei.app/hst" "hakurei.app/internal/validate" ) @@ -41,16 +42,18 @@ func (s spAccountOp) toContainer(state *outcomeStateParams) error { state.env["USER"] = username state.env["SHELL"] = state.Container.Shell.String() - state.params. - Place(fhs.AbsEtc.Append("passwd"), - []byte(username+":x:"+ - state.mapuid.String()+":"+ - state.mapgid.String()+ - ":Hakurei:"+ - state.Container.Home.String()+":"+ - state.Container.Shell.String()+"\n")). - Place(fhs.AbsEtc.Append("group"), - []byte("hakurei:x:"+state.mapgid.String()+":\n")) + if state.Container.Flags&hst.FNoPlace == 0 { + state.params. + Place(fhs.AbsEtc.Append("passwd"), + []byte(username+":x:"+ + state.mapuid.String()+":"+ + state.mapgid.String()+ + ":Hakurei:"+ + state.Container.Home.String()+":"+ + state.Container.Shell.String()+"\n")). + Place(fhs.AbsEtc.Append("group"), + []byte("hakurei:x:"+state.mapgid.String()+":\n")) + } return nil } -- cgit v1.3.1