From 09cd271415f0283e20c034dcbc42be781c4fed9e Mon Sep 17 00:00:00 2001 From: Hilmar Falkenberg Date: Thu, 7 Mar 2024 13:37:49 +0100 Subject: [PATCH] fixes `go build` on windows (#4858) * fixes `go build` on windows --- cmd/cnbBuild.go | 10 +--------- cmd/cnbBuildAttr.go | 17 +++++++++++++++++ cmd/cnbBuildAttr_windows.go | 11 +++++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 cmd/cnbBuildAttr.go create mode 100644 cmd/cnbBuildAttr_windows.go diff --git a/cmd/cnbBuild.go b/cmd/cnbBuild.go index 0a541d1104..ecf6581551 100644 --- a/cmd/cnbBuild.go +++ b/cmd/cnbBuild.go @@ -6,7 +6,6 @@ import ( "os" "path" "path/filepath" - "syscall" "github.com/SAP/jenkins-library/pkg/buildpacks" "github.com/SAP/jenkins-library/pkg/buildsettings" @@ -21,7 +20,6 @@ import ( "github.com/SAP/jenkins-library/pkg/log" "github.com/SAP/jenkins-library/pkg/piperutils" "github.com/SAP/jenkins-library/pkg/syft" - "github.com/SAP/jenkins-library/pkg/telemetry" "github.com/imdario/mergo" "github.com/mitchellh/mapstructure" @@ -585,13 +583,7 @@ func runCnbBuild(config *cnbBuildOptions, telemetry *buildpacks.Telemetry, image } creatorArgs = append(creatorArgs, fmt.Sprintf("%s:%s", containerImage, targetImage.ContainerImageTag)) - attr := &syscall.SysProcAttr{ - Credential: &syscall.Credential{ - Uid: uint32(uid), - Gid: uint32(gid), - NoSetGroups: true, - }, - } + attr := getSysProcAttr(uid, gid) err = utils.RunExecutableWithAttrs(creatorPath, attr, creatorArgs...) if err != nil { diff --git a/cmd/cnbBuildAttr.go b/cmd/cnbBuildAttr.go new file mode 100644 index 0000000000..ab3a4f96f2 --- /dev/null +++ b/cmd/cnbBuildAttr.go @@ -0,0 +1,17 @@ +//go:build !windows + +package cmd + +import ( + "syscall" +) + +func getSysProcAttr(uid int, gid int) *syscall.SysProcAttr { + return &syscall.SysProcAttr{ + Credential: &syscall.Credential{ + Uid: uint32(uid), + Gid: uint32(gid), + NoSetGroups: true, + }, + } +} diff --git a/cmd/cnbBuildAttr_windows.go b/cmd/cnbBuildAttr_windows.go new file mode 100644 index 0000000000..3dbd39235f --- /dev/null +++ b/cmd/cnbBuildAttr_windows.go @@ -0,0 +1,11 @@ +//go:build windows + +package cmd + +import ( + "syscall" +) + +func getSysProcAttr(_ int, _ int) *syscall.SysProcAttr { + return &syscall.SysProcAttr{} +}