From 6a855191bd413d8ca15344af10bfc05f8e55d710 Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Wed, 13 Dec 2023 23:48:11 +0000 Subject: [PATCH] Revert "Handle symlinks in sbox" This reverts commit 14a2362183d15cc8e618c80f5ea6f013997b8924. Reason for revert: Breaks art tests on errorprone build Change-Id: I2e21867fba6c8c1660ffa564273b6200c63221f3 --- cmd/sbox/sbox.go | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/cmd/sbox/sbox.go b/cmd/sbox/sbox.go index e69a93067..3364f503f 100644 --- a/cmd/sbox/sbox.go +++ b/cmd/sbox/sbox.go @@ -22,7 +22,6 @@ import ( "flag" "fmt" "io" - "io/fs" "io/ioutil" "os" "os/exec" @@ -479,8 +478,7 @@ func copyFiles(copies []*sbox_proto.Copy, fromDir, toDir string, exists existsTy // copyOneFile copies a file and its permissions. If forceExecutable is true it adds u+x to the // permissions. If exists is allowFromNotExists it returns nil if the from path doesn't exist. // If write is onlyWriteIfChanged then the output file is compared to the input file and not written to -// if it is the same, avoiding updating the timestamp. If from is a symlink, the symlink itself -// will be copied, instead of what it points to. +// if it is the same, avoiding updating the timestamp. func copyOneFile(from string, to string, forceExecutable bool, exists existsType, write writeType) error { err := os.MkdirAll(filepath.Dir(to), 0777) @@ -488,7 +486,7 @@ func copyOneFile(from string, to string, forceExecutable bool, exists existsType return err } - stat, err := os.Lstat(from) + stat, err := os.Stat(from) if err != nil { if os.IsNotExist(err) && exists == allowFromNotExists { return nil @@ -496,25 +494,6 @@ func copyOneFile(from string, to string, forceExecutable bool, exists existsType return err } - if stat.Mode()&fs.ModeSymlink != 0 { - linkTarget, err := os.Readlink(from) - if err != nil { - return err - } - if write == onlyWriteIfChanged { - toLinkTarget, err := os.Readlink(to) - if err == nil && toLinkTarget == linkTarget { - return nil - } - } - err = os.Remove(to) - if err != nil && !os.IsNotExist(err) { - return err - } - - return os.Symlink(linkTarget, to) - } - perm := stat.Mode() if forceExecutable { perm = perm | 0100 // u+x