mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
Build constraint not working for non linux (#1481)
* Build constraint not working for non linux * Go Build Constraint: Fix Non-Linux Filename (#1494) Correct the filename pkg/yqlib/chown_not_linux.go to escape the default OS detection in filename format `*_GOOS[_test].go`. Add an extra word after `linux` to resolve the issue. pkg/yqlib/chown_not_linux_os.go Signed-off-by: Bhargav Ravuri <vaguecoder0to.n@gmail.com> Signed-off-by: Bhargav Ravuri <vaguecoder0to.n@gmail.com> Signed-off-by: Bhargav Ravuri <vaguecoder0to.n@gmail.com> Co-authored-by: Bhargav Ravuri <saibhargavravuri@gmail.com>
This commit is contained in:
parent
36e0194e42
commit
18cdea3f88
18
pkg/yqlib/chown_linux.go
Normal file
18
pkg/yqlib/chown_linux.go
Normal file
@ -0,0 +1,18 @@
|
||||
//go:build linux
|
||||
|
||||
package yqlib
|
||||
|
||||
import (
|
||||
"io/fs"
|
||||
"os"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func changeOwner(info fs.FileInfo, file *os.File) error {
|
||||
if stat, ok := info.Sys().(*syscall.Stat_t); ok {
|
||||
uid := int(stat.Uid)
|
||||
gid := int(stat.Gid)
|
||||
return os.Chown(file.Name(), uid, gid)
|
||||
}
|
||||
return nil
|
||||
}
|
12
pkg/yqlib/chown_not_linux_os.go
Normal file
12
pkg/yqlib/chown_not_linux_os.go
Normal file
@ -0,0 +1,12 @@
|
||||
//go:build !linux
|
||||
|
||||
package yqlib
|
||||
|
||||
import (
|
||||
"io/fs"
|
||||
"os"
|
||||
)
|
||||
|
||||
func changeOwner(info fs.FileInfo, file *os.File) error {
|
||||
return nil
|
||||
}
|
@ -34,6 +34,10 @@ func (w *writeInPlaceHandlerImpl) CreateTempFile() (*os.File, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err = changeOwner(info, file); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
log.Debug("WriteInPlaceHandler: writing to tempfile: %v", file.Name())
|
||||
w.tempFile = file
|
||||
return file, err
|
||||
|
Loading…
Reference in New Issue
Block a user