diff -ur ../src.orig/cli/cli/command/cli.go ./cli/cli/command/cli.go --- ../src.orig/cli/cli/command/cli.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/cli.go 2023-10-15 10:22:24.747278335 +0000 @@ -6,7 +6,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "strconv" "sync" "time" @@ -512,7 +512,7 @@ // UserAgent returns the user agent string used for making API requests func UserAgent() string { - return "Docker-Client/" + version.Version + " (" + runtime.GOOS + ")" + return "Docker-Client/" + version.Version + " (" + "linux" + ")" } var defaultStoreEndpoints = []store.NamedTypeGetter{ diff -ur ../src.orig/cli/cli/command/container/hijack.go ./cli/cli/command/container/hijack.go --- ../src.orig/cli/cli/command/container/hijack.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/container/hijack.go 2023-10-15 10:22:24.700611518 +0000 @@ -4,7 +4,7 @@ "context" "fmt" "io" - "runtime" + _ "runtime" "sync" "github.com/docker/cli/cli/command" @@ -200,7 +200,7 @@ // not the "legacy" console, and you start the client in a new window. eg // `start docker run --rm -it microsoft/nanoserver cmd /s /c echo foobar` // will hang. Remove start, and it won't repro. - if in != nil && runtime.GOOS != "darwin" && runtime.GOOS != "windows" { + if in != nil && "linux" != "darwin" && "linux" != "windows" { return in.Close() } return nil diff -ur ../src.orig/cli/cli/command/container/tty.go ./cli/cli/command/container/tty.go --- ../src.orig/cli/cli/command/container/tty.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/container/tty.go 2023-10-15 10:22:24.700611518 +0000 @@ -5,7 +5,7 @@ "fmt" "os" gosignal "os/signal" - "runtime" + _ "runtime" "time" "github.com/docker/cli/cli/command" @@ -70,7 +70,7 @@ // MonitorTtySize updates the container tty size when the terminal tty changes size func MonitorTtySize(ctx context.Context, cli command.Cli, id string, isExec bool) error { initTtySize(ctx, cli, id, isExec, resizeTty) - if runtime.GOOS == "windows" { + if "linux" == "windows" { go func() { prevH, prevW := cli.Out().GetTtySize() for { diff -ur ../src.orig/cli/cli/command/image/build/context.go ./cli/cli/command/image/build/context.go --- ../src.orig/cli/cli/command/image/build/context.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/image/build/context.go 2023-10-15 10:22:24.737278303 +0000 @@ -9,7 +9,7 @@ "net/http" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "time" @@ -365,7 +365,7 @@ // isUNC returns true if the path is UNC (one starting \\). It always returns // false on Linux. func isUNC(path string) bool { - return runtime.GOOS == "windows" && strings.HasPrefix(path, `\\`) + return "linux" == "windows" && strings.HasPrefix(path, `\\`) } // AddDockerfileToBuildContext from a ReadCloser, returns a new archive and diff -ur ../src.orig/cli/cli/command/image/build.go ./cli/cli/command/image/build.go --- ../src.orig/cli/cli/command/image/build.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/image/build.go 2023-10-15 10:22:24.730611615 +0000 @@ -11,7 +11,7 @@ "os" "path/filepath" "regexp" - "runtime" + _ "runtime" "strings" "github.com/docker/cli/cli" @@ -370,7 +370,7 @@ // Windows: show error message about modified file permissions if the // daemon isn't running Windows. - if response.OSType != "windows" && runtime.GOOS == "windows" && !options.quiet { + if response.OSType != "windows" && "linux" == "windows" && !options.quiet { fmt.Fprintln(dockerCli.Out(), "SECURITY WARNING: You are building a Docker "+ "image from Windows against a non-Windows Docker host. All files and "+ "directories added to build context will have '-rwxr-xr-x' permissions. "+ diff -ur ../src.orig/cli/cli/command/registry.go ./cli/cli/command/registry.go --- ../src.orig/cli/cli/command/registry.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/registry.go 2023-10-15 10:22:24.747278335 +0000 @@ -6,7 +6,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "strings" configtypes "github.com/docker/cli/cli/config/types" @@ -98,7 +98,7 @@ // - https://github.com/moby/moby/pull/17738 // // TODO(thaJeztah): we need to confirm if this special handling is still needed, as we may not be doing this in other places. - if runtime.GOOS == "windows" { + if "linux" == "windows" { cli.SetIn(streams.NewIn(os.Stdin)) } diff -ur ../src.orig/cli/cli/command/stack/loader/loader.go ./cli/cli/command/stack/loader/loader.go --- ../src.orig/cli/cli/command/stack/loader/loader.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/stack/loader/loader.go 2023-10-15 10:22:24.743944991 +0000 @@ -5,7 +5,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "sort" "strings" @@ -105,7 +105,7 @@ func buildEnvironment(env []string) (map[string]string, error) { result := make(map[string]string, len(env)) for _, s := range env { - if runtime.GOOS == "windows" && len(s) > 0 { + if "linux" == "windows" && len(s) > 0 { // cmd.exe can have special environment variables which names start with "=". // They are only there for MS-DOS compatibility and we should ignore them. // See TestBuildEnvironment for examples. diff -ur ../src.orig/cli/cli/command/system/version.go ./cli/cli/command/system/version.go --- ../src.orig/cli/cli/command/system/version.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/system/version.go 2023-10-15 10:22:24.727278271 +0000 @@ -93,7 +93,7 @@ GoVersion: runtime.Version(), GitCommit: version.GitCommit, BuildTime: reformatDate(version.BuildTime), - Os: runtime.GOOS, + Os: "linux", Arch: arch(), Context: contextName, } diff -ur ../src.orig/cli/cli/command/trust/key_load.go ./cli/cli/command/trust/key_load.go --- ../src.orig/cli/cli/command/trust/key_load.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/trust/key_load.go 2023-10-15 10:22:24.720611582 +0000 @@ -6,7 +6,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" @@ -70,7 +70,7 @@ } func getPrivKeyBytesFromPath(keyPath string) ([]byte, error) { - if runtime.GOOS != "windows" { + if "linux" != "windows" { fileInfo, err := os.Stat(keyPath) if err != nil { return nil, err diff -ur ../src.orig/cli/cli/command/utils.go ./cli/cli/command/utils.go --- ../src.orig/cli/cli/command/utils.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/command/utils.go 2023-10-15 10:22:24.747278335 +0000 @@ -6,7 +6,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/cli/cli/streams" @@ -81,7 +81,7 @@ _, _ = fmt.Fprint(outs, message) // On Windows, force the use of the regular OS stdin stream. - if runtime.GOOS == "windows" { + if "linux" == "windows" { ins = streams.NewIn(os.Stdin) } diff -ur ../src.orig/cli/cli/connhelper/commandconn/commandconn.go ./cli/cli/connhelper/commandconn/commandconn.go --- ../src.orig/cli/cli/connhelper/commandconn/commandconn.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/connhelper/commandconn/commandconn.go 2023-10-15 10:22:24.763945054 +0000 @@ -20,7 +20,7 @@ "io" "net" "os" - "runtime" + _ "runtime" "strings" "sync" "sync/atomic" @@ -89,7 +89,7 @@ } c.cmdMutex.Lock() var werr error - if runtime.GOOS != "windows" { + if "linux" != "windows" { werrCh := make(chan error) go func() { werrCh <- c.cmd.Wait() }() _ = c.cmd.Process.Signal(syscall.SIGTERM) diff -ur ../src.orig/cli/cli/streams/in.go ./cli/cli/streams/in.go --- ../src.orig/cli/cli/streams/in.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/cli/streams/in.go 2023-10-15 10:22:24.687278142 +0000 @@ -4,7 +4,7 @@ "errors" "io" "os" - "runtime" + _ "runtime" "github.com/moby/term" ) @@ -45,7 +45,7 @@ // incompatible with `docker run -t`, `docker exec -t` or `docker attach`. if ttyMode && attachStdin && !i.isTerminal { const eText = "the input device is not a TTY" - if runtime.GOOS == "windows" { + if "linux" == "windows" { return errors.New(eText + ". If you are using mintty, try prefixing the command with 'winpty'") } return errors.New(eText) diff -ur ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/cpuinfo.go ./cli/vendor/github.com/containerd/containerd/platforms/cpuinfo.go --- ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/cpuinfo.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/containerd/containerd/platforms/cpuinfo.go 2023-10-15 10:22:25.040612608 +0000 @@ -47,8 +47,8 @@ // So we don't need to access the ARM registers to detect platform information // by ourselves. We can just parse these information from /proc/cpuinfo func getCPUInfo(pattern string) (info string, err error) { - if !isLinuxOS(runtime.GOOS) { - return "", fmt.Errorf("getCPUInfo for OS %s: %w", runtime.GOOS, errdefs.ErrNotImplemented) + if !isLinuxOS("linux") { + return "", fmt.Errorf("getCPUInfo for OS %s: %w", "linux", errdefs.ErrNotImplemented) } cpuinfo, err := os.Open("/proc/cpuinfo") @@ -79,7 +79,7 @@ } func getCPUVariant() string { - if runtime.GOOS == "windows" || runtime.GOOS == "darwin" { + if "linux" == "windows" || "linux" == "darwin" { // Windows/Darwin only supports v7 for ARM32 and v8 for ARM64 and so we can use // runtime.GOARCH to determine the variants var variant string diff -ur ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/database.go ./cli/vendor/github.com/containerd/containerd/platforms/database.go --- ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/database.go 2023-10-15 10:21:30.093769938 +0000 +++ ./cli/vendor/github.com/containerd/containerd/platforms/database.go 2023-10-15 10:22:25.040612608 +0000 @@ -17,7 +17,7 @@ package platforms import ( - "runtime" + _ "runtime" "strings" ) @@ -72,7 +72,7 @@ func normalizeOS(os string) string { if os == "" { - return runtime.GOOS + return "linux" } os = strings.ToLower(os) diff -ur ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/defaults_darwin.go ./cli/vendor/github.com/containerd/containerd/platforms/defaults_darwin.go --- ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/defaults_darwin.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/containerd/containerd/platforms/defaults_darwin.go 2023-10-15 10:22:25.040612608 +0000 @@ -20,7 +20,7 @@ package platforms import ( - "runtime" + _ "runtime" specs "github.com/opencontainers/image-spec/specs-go/v1" ) @@ -28,7 +28,7 @@ // DefaultSpec returns the current platform's default platform specification. func DefaultSpec() specs.Platform { return specs.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, // The Variant field will be empty if arch != ARM. Variant: cpuVariant(), diff -ur ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/defaults_unix.go ./cli/vendor/github.com/containerd/containerd/platforms/defaults_unix.go --- ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/defaults_unix.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/containerd/containerd/platforms/defaults_unix.go 2023-10-15 10:22:25.040612608 +0000 @@ -28,7 +28,7 @@ // DefaultSpec returns the current platform's default platform specification. func DefaultSpec() specs.Platform { return specs.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, // The Variant field will be empty if arch != ARM. Variant: cpuVariant(), diff -ur ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/defaults_windows.go ./cli/vendor/github.com/containerd/containerd/platforms/defaults_windows.go --- ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/defaults_windows.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/containerd/containerd/platforms/defaults_windows.go 2023-10-15 10:22:25.040612608 +0000 @@ -18,7 +18,7 @@ import ( "fmt" - "runtime" + _ "runtime" "strconv" "strings" @@ -31,7 +31,7 @@ func DefaultSpec() specs.Platform { major, minor, build := windows.RtlGetNtVersionNumbers() return specs.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, OSVersion: fmt.Sprintf("%d.%d.%d", major, minor, build), // The Variant field will be empty if arch != ARM. diff -ur ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/platforms.go ./cli/vendor/github.com/containerd/containerd/platforms/platforms.go --- ../src.orig/cli/vendor/github.com/containerd/containerd/platforms/platforms.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/containerd/containerd/platforms/platforms.go 2023-10-15 10:22:25.040612608 +0000 @@ -202,7 +202,7 @@ p.Variant = "" } if isKnownArch(p.Architecture) { - p.OS = runtime.GOOS + p.OS = "linux" return p, nil } diff -ur ../src.orig/cli/vendor/github.com/docker/docker/pkg/archive/archive.go ./cli/vendor/github.com/docker/docker/pkg/archive/archive.go --- ../src.orig/cli/vendor/github.com/docker/docker/pkg/archive/archive.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/docker/pkg/archive/archive.go 2023-10-15 10:22:25.073946049 +0000 @@ -14,7 +14,7 @@ "os" "os/exec" "path/filepath" - "runtime" + _ "runtime" "strconv" "strings" "syscall" @@ -744,7 +744,7 @@ } // Lchown is not supported on Windows. - if Lchown && runtime.GOOS != "windows" { + if Lchown && "linux" != "windows" { if chownOpts == nil { chownOpts = &idtools.Identity{UID: hdr.Uid, GID: hdr.Gid} } diff -ur ../src.orig/cli/vendor/github.com/docker/docker/pkg/archive/changes_other.go ./cli/vendor/github.com/docker/docker/pkg/archive/changes_other.go --- ../src.orig/cli/vendor/github.com/docker/docker/pkg/archive/changes_other.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/docker/pkg/archive/changes_other.go 2023-10-15 10:22:25.073946049 +0000 @@ -7,7 +7,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/pkg/system" @@ -58,7 +58,7 @@ // See https://github.com/golang/go/issues/9168 - bug in filepath.Join. // Temporary workaround. If the returned path starts with two backslashes, // trim it down to a single backslash. Only relevant on Windows. - if runtime.GOOS == "windows" { + if "linux" == "windows" { if strings.HasPrefix(relPath, `\\`) { relPath = relPath[1:] } diff -ur ../src.orig/cli/vendor/github.com/docker/docker/pkg/archive/diff.go ./cli/vendor/github.com/docker/docker/pkg/archive/diff.go --- ../src.orig/cli/vendor/github.com/docker/docker/pkg/archive/diff.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/docker/pkg/archive/diff.go 2023-10-15 10:22:25.073946049 +0000 @@ -6,7 +6,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/pkg/pools" @@ -65,7 +65,7 @@ // specific or Linux-specific, this warning should be changed to an error // to cater for the situation where someone does manage to upload a Linux // image but have it tagged as Windows inadvertently. - if runtime.GOOS == "windows" { + if "linux" == "windows" { if strings.Contains(hdr.Name, ":") { logrus.Warnf("Windows: Ignoring %s (is this a Linux image?)", hdr.Name) continue diff -ur ../src.orig/cli/vendor/github.com/docker/docker/pkg/longpath/longpath.go ./cli/vendor/github.com/docker/docker/pkg/longpath/longpath.go --- ../src.orig/cli/vendor/github.com/docker/docker/pkg/longpath/longpath.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/docker/pkg/longpath/longpath.go 2023-10-15 10:22:25.067279360 +0000 @@ -7,7 +7,7 @@ import ( "os" - "runtime" + _ "runtime" "strings" ) @@ -36,7 +36,7 @@ if err != nil { return "", err } - if runtime.GOOS != "windows" { + if "linux" != "windows" { return tempDir, nil } return AddPrefix(tempDir), nil diff -ur ../src.orig/cli/vendor/github.com/docker/docker/pkg/process/process_unix.go ./cli/vendor/github.com/docker/docker/pkg/process/process_unix.go --- ../src.orig/cli/vendor/github.com/docker/docker/pkg/process/process_unix.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/docker/pkg/process/process_unix.go 2023-10-15 10:22:25.073946049 +0000 @@ -8,7 +8,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "strconv" "golang.org/x/sys/unix" @@ -22,7 +22,7 @@ if pid < 1 { return false } - switch runtime.GOOS { + switch "linux" { case "darwin": // OS X does not have a proc filesystem. Use kill -0 pid to judge if the // process exists. From KILL(2): https://www.freebsd.org/cgi/man.cgi?query=kill&sektion=2&manpath=OpenDarwin+7.2.1 diff -ur ../src.orig/cli/vendor/github.com/docker/docker/pkg/system/image_os.go ./cli/vendor/github.com/docker/docker/pkg/system/image_os.go --- ../src.orig/cli/vendor/github.com/docker/docker/pkg/system/image_os.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/docker/pkg/system/image_os.go 2023-10-15 10:22:25.067279360 +0000 @@ -1,10 +1,10 @@ package system // import "github.com/docker/docker/pkg/system" import ( - "runtime" + _ "runtime" "strings" ) // IsOSSupported determines if an operating system is supported by the host. func IsOSSupported(os string) bool { - return strings.EqualFold(runtime.GOOS, os) + return strings.EqualFold("linux", os) } diff -ur ../src.orig/cli/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go ./cli/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go --- ../src.orig/cli/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go 2023-10-15 10:22:25.053945984 +0000 @@ -4,14 +4,14 @@ import ( "crypto/x509" - "runtime" + _ "runtime" ) // SystemCertPool returns a copy of the system cert pool, // returns an error if failed to load or empty pool on windows. func SystemCertPool() (*x509.CertPool, error) { certpool, err := x509.SystemCertPool() - if err != nil && runtime.GOOS == "windows" { + if err != nil && "linux" == "windows" { return x509.NewCertPool(), nil } return certpool, err diff -ur ../src.orig/cli/vendor/github.com/sirupsen/logrus/text_formatter.go ./cli/vendor/github.com/sirupsen/logrus/text_formatter.go --- ../src.orig/cli/vendor/github.com/sirupsen/logrus/text_formatter.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/sirupsen/logrus/text_formatter.go 2023-10-15 10:22:24.987279104 +0000 @@ -115,7 +115,7 @@ } func (f *TextFormatter) isColored() bool { - isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows")) + isColored := f.ForceColors || (f.isTerminal && ("linux" != "windows")) if f.EnvironmentOverrideColors { switch force, ok := os.LookupEnv("CLICOLOR_FORCE"); { diff -ur ../src.orig/cli/vendor/github.com/xeipuuv/gojsonreference/reference.go ./cli/vendor/github.com/xeipuuv/gojsonreference/reference.go --- ../src.orig/cli/vendor/github.com/xeipuuv/gojsonreference/reference.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/xeipuuv/gojsonreference/reference.go 2023-10-15 10:22:25.040612608 +0000 @@ -29,7 +29,7 @@ "errors" "net/url" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/xeipuuv/gojsonpointer" @@ -103,7 +103,7 @@ } r.HasFileScheme = refUrl.Scheme == "file" - if runtime.GOOS == "windows" { + if "linux" == "windows" { // on Windows, a file URL may have an extra leading slash, and if it // doesn't then its first component will be treated as the host by the // Go runtime diff -ur ../src.orig/cli/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go ./cli/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go --- ../src.orig/cli/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/github.com/xeipuuv/gojsonschema/jsonLoader.go 2023-10-15 10:22:25.043945952 +0000 @@ -36,7 +36,7 @@ "net/url" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/xeipuuv/gojsonreference" @@ -152,7 +152,7 @@ return nil, err } - if runtime.GOOS == "windows" { + if "linux" == "windows" { // on Windows, a file URL may have an extra leading slash, use slashes // instead of backslashes, and have spaces escaped filename = strings.TrimPrefix(filename, "/") diff -ur ../src.orig/cli/vendor/golang.org/x/net/http2/server.go ./cli/vendor/golang.org/x/net/http2/server.go --- ../src.orig/cli/vendor/golang.org/x/net/http2/server.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/golang.org/x/net/http2/server.go 2023-10-15 10:22:24.907278848 +0000 @@ -741,7 +741,7 @@ // build tags, so I can't make an http2_windows.go file with // Windows-specific stuff. Fix that and move this, once we // have a way to bundle this into std's net/http somehow. - if runtime.GOOS == "windows" { + if "linux" == "windows" { if oe, ok := err.(*net.OpError); ok && oe.Op == "read" { if se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == "wsarecv" { const WSAECONNABORTED = 10053 diff -ur ../src.orig/cli/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go ./cli/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go --- ../src.orig/cli/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go 2023-10-15 10:22:24.860612031 +0000 @@ -17,7 +17,7 @@ // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in // sockcmsg_dragonfly.go - switch runtime.GOOS { + switch "linux" { case "aix": // There is no alignment on AIX. salign = 1 @@ -34,7 +34,7 @@ salign = 8 } // NetBSD aarch64 requires 128-bit alignment. - if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" { + if "linux" == "netbsd" && runtime.GOARCH == "arm64" { salign = 16 } case "zos": diff -ur ../src.orig/cli/vendor/golang.org/x/sys/unix/syscall_bsd.go ./cli/vendor/golang.org/x/sys/unix/syscall_bsd.go --- ../src.orig/cli/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-10-15 10:22:24.847278655 +0000 @@ -14,7 +14,7 @@ package unix import ( - "runtime" + _ "runtime" "syscall" "unsafe" ) @@ -275,7 +275,7 @@ if err != nil { return } - if (runtime.GOOS == "darwin" || runtime.GOOS == "ios") && len == 0 { + if ("linux" == "darwin" || "linux" == "ios") && len == 0 { // Accepted socket has no address. // This is likely due to a bug in xnu kernels, // where instead of ECONNABORTED error socket @@ -299,7 +299,7 @@ } // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be // reported upstream. - if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + if "linux" == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { rsa.Addr.Family = AF_UNIX rsa.Addr.Len = SizeofSockaddrUnix } diff -ur ../src.orig/cli/vendor/golang.org/x/term/terminal.go ./cli/vendor/golang.org/x/term/terminal.go --- ../src.orig/cli/vendor/golang.org/x/term/terminal.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/golang.org/x/term/terminal.go 2023-10-15 10:22:24.830611935 +0000 @@ -7,7 +7,7 @@ import ( "bytes" "io" - "runtime" + _ "runtime" "strconv" "sync" "unicode/utf8" @@ -962,12 +962,12 @@ ret = ret[:len(ret)-1] } case '\n': - if runtime.GOOS != "windows" { + if "linux" != "windows" { return ret, nil } // otherwise ignore \n case '\r': - if runtime.GOOS == "windows" { + if "linux" == "windows" { return ret, nil } // otherwise ignore \r diff -ur ../src.orig/cli/vendor/golang.org/x/term/term_plan9.go ./cli/vendor/golang.org/x/term/term_plan9.go --- ../src.orig/cli/vendor/golang.org/x/term/term_plan9.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/golang.org/x/term/term_plan9.go 2023-10-15 10:22:24.830611935 +0000 @@ -6,7 +6,7 @@ import ( "fmt" - "runtime" + _ "runtime" "golang.org/x/sys/plan9" ) @@ -22,21 +22,21 @@ } func makeRaw(fd int) (*State, error) { - return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", "linux", runtime.GOARCH) } func getState(fd int) (*State, error) { - return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", "linux", runtime.GOARCH) } func restore(fd int, state *State) error { - return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return fmt.Errorf("terminal: Restore not implemented on %s/%s", "linux", runtime.GOARCH) } func getSize(fd int) (width, height int, err error) { - return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", "linux", runtime.GOARCH) } func readPassword(fd int) ([]byte, error) { - return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", "linux", runtime.GOARCH) } diff -ur ../src.orig/cli/vendor/golang.org/x/term/term_unsupported.go ./cli/vendor/golang.org/x/term/term_unsupported.go --- ../src.orig/cli/vendor/golang.org/x/term/term_unsupported.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/golang.org/x/term/term_unsupported.go 2023-10-15 10:22:24.830611935 +0000 @@ -9,7 +9,7 @@ import ( "fmt" - "runtime" + _ "runtime" ) type state struct{} @@ -19,21 +19,21 @@ } func makeRaw(fd int) (*State, error) { - return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", "linux", runtime.GOARCH) } func getState(fd int) (*State, error) { - return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", "linux", runtime.GOARCH) } func restore(fd int, state *State) error { - return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return fmt.Errorf("terminal: Restore not implemented on %s/%s", "linux", runtime.GOARCH) } func getSize(fd int) (width, height int, err error) { - return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", "linux", runtime.GOARCH) } func readPassword(fd int) ([]byte, error) { - return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", "linux", runtime.GOARCH) } diff -ur ../src.orig/cli/vendor/gotest.tools/v3/fs/file.go ./cli/vendor/gotest.tools/v3/fs/file.go --- ../src.orig/cli/vendor/gotest.tools/v3/fs/file.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/gotest.tools/v3/fs/file.go 2023-10-15 10:22:24.913945536 +0000 @@ -7,7 +7,7 @@ import ( "os" "path/filepath" - "runtime" + _ "runtime" "strings" "gotest.tools/v3/assert" @@ -58,7 +58,7 @@ func cleanPrefix(prefix string) string { // windows requires both / and \ are replaced - if runtime.GOOS == "windows" { + if "linux" == "windows" { prefix = strings.Replace(prefix, string(os.PathSeparator), "-", -1) } return strings.Replace(prefix, "/", "-", -1) diff -ur ../src.orig/cli/vendor/gotest.tools/v3/fs/manifest_unix.go ./cli/vendor/gotest.tools/v3/fs/manifest_unix.go --- ../src.orig/cli/vendor/gotest.tools/v3/fs/manifest_unix.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/gotest.tools/v3/fs/manifest_unix.go 2023-10-15 10:22:24.913945536 +0000 @@ -5,7 +5,7 @@ import ( "os" - "runtime" + _ "runtime" "syscall" ) @@ -14,7 +14,7 @@ var defaultSymlinkMode = os.ModeSymlink | 0777 func init() { - switch runtime.GOOS { + switch "linux" { case "darwin": defaultSymlinkMode = os.ModeSymlink | 0755 } diff -ur ../src.orig/cli/vendor/gotest.tools/v3/fs/report.go ./cli/vendor/gotest.tools/v3/fs/report.go --- ../src.orig/cli/vendor/gotest.tools/v3/fs/report.go 2023-08-31 17:24:32.000000000 +0000 +++ ./cli/vendor/gotest.tools/v3/fs/report.go 2023-10-15 10:22:24.913945536 +0000 @@ -6,7 +6,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "sort" "strings" @@ -146,7 +146,7 @@ p := eqResource(x.resource, y.resource) xTarget := x.target yTarget := y.target - if runtime.GOOS == "windows" { + if "linux" == "windows" { xTarget = strings.ToLower(xTarget) yTarget = strings.ToLower(yTarget) } --- ../src.orig/libnetwork/client/mflag/flag.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/client/mflag/flag.go 2023-10-15 10:22:26.503950634 +0000 @@ -85,7 +85,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "sort" "strconv" "strings" @@ -539,7 +539,7 @@ home, _ := os.UserHomeDir() // Don't substitute when HOME is / - if runtime.GOOS != "windows" && home == "/" { + if "linux" != "windows" && home == "/" { home = "" } @@ -578,7 +578,7 @@ } func getShortcutString() string { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return "%USERPROFILE%" } return "~" diff -ur ../src.orig/libnetwork/controller.go ./libnetwork/controller.go --- ../src.orig/libnetwork/controller.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/controller.go 2023-10-15 10:22:26.510617320 +0000 @@ -47,7 +47,7 @@ "fmt" "net" "path/filepath" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -1103,7 +1103,7 @@ c.Unlock() sandboxID := stringid.GenerateRandomID() - if runtime.GOOS == "windows" { + if "linux" == "windows" { sandboxID = containerID } diff -ur ../src.orig/libnetwork/network.go ./libnetwork/network.go --- ../src.orig/libnetwork/network.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/network.go 2023-10-15 10:22:26.503950634 +0000 @@ -4,7 +4,7 @@ "encoding/json" "fmt" "net" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -1082,7 +1082,7 @@ // Cleanup the load balancer. On Windows this call is required // to remove remote loadbalancers in VFP, and must be performed before // dataplane network deletion. - if runtime.GOOS == "windows" { + if "linux" == "windows" { c.cleanupServiceBindings(n.ID()) } diff -ur ../src.orig/libnetwork/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go ./libnetwork/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go --- ../src.orig/libnetwork/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go 2023-10-15 10:22:26.460617160 +0000 @@ -4,14 +4,14 @@ import ( "crypto/x509" - "runtime" + _ "runtime" ) // SystemCertPool returns a copy of the system cert pool, // returns an error if failed to load or empty pool on windows. func SystemCertPool() (*x509.CertPool, error) { certpool, err := x509.SystemCertPool() - if err != nil && runtime.GOOS == "windows" { + if err != nil && "linux" == "windows" { return x509.NewCertPool(), nil } return certpool, err diff -ur ../src.orig/libnetwork/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go ./libnetwork/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go --- ../src.orig/libnetwork/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go 2023-10-15 10:22:26.450617128 +0000 @@ -23,7 +23,7 @@ "syscall" ) -var ErrUnsupported = errors.New("SCTP is unsupported on " + runtime.GOOS + "/" + runtime.GOARCH) +var ErrUnsupported = errors.New("SCTP is unsupported on " + "linux" + "/" + runtime.GOARCH) func setsockopt(fd int, optname, optval, optlen uintptr) (uintptr, uintptr, error) { return 0, 0, ErrUnsupported diff -ur ../src.orig/libnetwork/vendor/github.com/sirupsen/logrus/text_formatter.go ./libnetwork/vendor/github.com/sirupsen/logrus/text_formatter.go --- ../src.orig/libnetwork/vendor/github.com/sirupsen/logrus/text_formatter.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/github.com/sirupsen/logrus/text_formatter.go 2023-10-15 10:22:26.430617064 +0000 @@ -112,7 +112,7 @@ } func (f *TextFormatter) isColored() bool { - isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows")) + isColored := f.ForceColors || (f.isTerminal && ("linux" != "windows")) if f.EnvironmentOverrideColors { switch force, ok := os.LookupEnv("CLICOLOR_FORCE"); { diff -ur ../src.orig/libnetwork/vendor/go.etcd.io/bbolt/db.go ./libnetwork/vendor/go.etcd.io/bbolt/db.go --- ../src.orig/libnetwork/vendor/go.etcd.io/bbolt/db.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/go.etcd.io/bbolt/db.go 2023-10-15 10:22:26.263949863 +0000 @@ -6,7 +6,7 @@ "hash/fnv" "log" "os" - "runtime" + _ "runtime" "sort" "sync" "time" @@ -28,7 +28,7 @@ // syncing changes to a file. This is required as some operating systems, // such as OpenBSD, do not have a unified buffer cache (UBC) and writes // must be synchronized using the msync(2) syscall. -const IgnoreNoSync = runtime.GOOS == "openbsd" +const IgnoreNoSync = "linux" == "openbsd" // Default values if not set in a DB instance. const ( @@ -965,7 +965,7 @@ // Truncate and fsync to ensure file size metadata is flushed. // https://github.com/boltdb/bolt/issues/284 if !db.NoGrowSync && !db.readOnly { - if runtime.GOOS != "windows" { + if "linux" != "windows" { if err := db.file.Truncate(int64(sz)); err != nil { return fmt.Errorf("file resize error: %s", err) } diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/internal/socket/socket.go ./libnetwork/vendor/golang.org/x/net/internal/socket/socket.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/internal/socket/socket.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/internal/socket/socket.go 2023-10-15 10:22:26.360616840 +0000 @@ -13,7 +13,7 @@ "unsafe" ) -var errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) +var errNotImplemented = errors.New("not implemented on " + "linux" + "/" + runtime.GOARCH) // An Option represents a sticky socket option. type Option struct { diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go ./libnetwork/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go 2023-10-15 10:22:26.353950152 +0000 @@ -7,15 +7,15 @@ package socket import ( - "runtime" + _ "runtime" "unsafe" ) func probeProtocolStack() int { - if (runtime.GOOS == "netbsd" || runtime.GOOS == "openbsd") && runtime.GOARCH == "arm" { + if ("linux" == "netbsd" || "linux" == "openbsd") && runtime.GOARCH == "arm" { return 8 } - if runtime.GOOS == "aix" { + if "linux" == "aix" { return 1 } var p uintptr diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/internal/socket/sys_posix.go ./libnetwork/vendor/golang.org/x/net/internal/socket/sys_posix.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/internal/socket/sys_posix.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/internal/socket/sys_posix.go 2023-10-15 10:22:26.360616840 +0000 @@ -10,7 +10,7 @@ "encoding/binary" "errors" "net" - "runtime" + _ "runtime" "strconv" "sync" "time" @@ -32,7 +32,7 @@ func marshalSockaddr(ip net.IP, port int, zone string) []byte { if ip4 := ip.To4(); ip4 != nil { b := make([]byte, sizeofSockaddrInet) - switch runtime.GOOS { + switch "linux" { case "android", "illumos", "linux", "solaris", "windows": NativeEndian.PutUint16(b[:2], uint16(sysAF_INET)) default: @@ -45,7 +45,7 @@ } if ip6 := ip.To16(); ip6 != nil && ip.To4() == nil { b := make([]byte, sizeofSockaddrInet6) - switch runtime.GOOS { + switch "linux" { case "android", "illumos", "linux", "solaris", "windows": NativeEndian.PutUint16(b[:2], uint16(sysAF_INET6)) default: @@ -67,7 +67,7 @@ return nil, errors.New("invalid address") } var af int - switch runtime.GOOS { + switch "linux" { case "android", "illumos", "linux", "solaris", "windows": af = int(NativeEndian.Uint16(b[:2])) default: diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/batch.go ./libnetwork/vendor/golang.org/x/net/ipv4/batch.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/batch.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv4/batch.go 2023-10-15 10:22:26.343950119 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "golang.org/x/net/internal/socket" ) @@ -75,7 +75,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.RecvMsgs([]socket.Message(ms), flags) if err != nil { @@ -109,7 +109,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.SendMsgs([]socket.Message(ms), flags) if err != nil { @@ -141,7 +141,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.RecvMsgs([]socket.Message(ms), flags) if err != nil { @@ -175,7 +175,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.SendMsgs([]socket.Message(ms), flags) if err != nil { diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/header.go ./libnetwork/vendor/golang.org/x/net/ipv4/header.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/header.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv4/header.go 2023-10-15 10:22:26.343950119 +0000 @@ -8,7 +8,7 @@ "encoding/binary" "fmt" "net" - "runtime" + _ "runtime" "golang.org/x/net/internal/socket" ) @@ -66,7 +66,7 @@ b[0] = byte(Version<<4 | (hdrlen >> 2 & 0x0f)) b[1] = byte(h.TOS) flagsAndFragOff := (h.FragOff & 0x1fff) | int(h.Flags<<13) - switch runtime.GOOS { + switch "linux" { case "darwin", "dragonfly", "netbsd": socket.NativeEndian.PutUint16(b[2:4], uint16(h.TotalLen)) socket.NativeEndian.PutUint16(b[6:8], uint16(flagsAndFragOff)) @@ -125,7 +125,7 @@ h.Checksum = int(binary.BigEndian.Uint16(b[10:12])) h.Src = net.IPv4(b[12], b[13], b[14], b[15]) h.Dst = net.IPv4(b[16], b[17], b[18], b[19]) - switch runtime.GOOS { + switch "linux" { case "darwin", "dragonfly", "netbsd": h.TotalLen = int(socket.NativeEndian.Uint16(b[2:4])) + hdrlen h.FragOff = int(socket.NativeEndian.Uint16(b[6:8])) diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/helper.go ./libnetwork/vendor/golang.org/x/net/ipv4/helper.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/helper.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv4/helper.go 2023-10-15 10:22:26.343950119 +0000 @@ -19,7 +19,7 @@ errHeaderTooShort = errors.New("header too short") errExtHeaderTooShort = errors.New("extension header too short") errInvalidConnType = errors.New("invalid conn type") - errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) + errNotImplemented = errors.New("not implemented on " + "linux" + "/" + runtime.GOARCH) // See https://www.freebsd.org/doc/en/books/porters-handbook/versions.html. freebsdVersion uint32 diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/sys_freebsd.go ./libnetwork/vendor/golang.org/x/net/ipv4/sys_freebsd.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv4/sys_freebsd.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv4/sys_freebsd.go 2023-10-15 10:22:26.340616775 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "strings" "syscall" "unsafe" @@ -46,7 +46,7 @@ if freebsdVersion >= 1000000 { sockOpts[ssoMulticastInterface] = &sockOpt{Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn} } - if runtime.GOOS == "freebsd" && runtime.GOARCH == "386" { + if "linux" == "freebsd" && runtime.GOARCH == "386" { archs, _ := syscall.Sysctl("kern.supported_archs") for _, s := range strings.Fields(archs) { if s == "amd64" { diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/batch.go ./libnetwork/vendor/golang.org/x/net/ipv6/batch.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/batch.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv6/batch.go 2023-10-15 10:22:26.353950152 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "golang.org/x/net/internal/socket" ) @@ -66,7 +66,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.RecvMsgs([]socket.Message(ms), flags) if err != nil { @@ -97,7 +97,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.SendMsgs([]socket.Message(ms), flags) if err != nil { diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/helper.go ./libnetwork/vendor/golang.org/x/net/ipv6/helper.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/helper.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv6/helper.go 2023-10-15 10:22:26.350616808 +0000 @@ -15,7 +15,7 @@ errMissingAddress = errors.New("missing address") errHeaderTooShort = errors.New("header too short") errInvalidConnType = errors.New("invalid conn type") - errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) + errNotImplemented = errors.New("not implemented on " + "linux" + "/" + runtime.GOARCH) ) func boolint(b bool) int { diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/sockopt_posix.go ./libnetwork/vendor/golang.org/x/net/ipv6/sockopt_posix.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/sockopt_posix.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv6/sockopt_posix.go 2023-10-15 10:22:26.350616808 +0000 @@ -8,7 +8,7 @@ import ( "net" - "runtime" + _ "runtime" "unsafe" "golang.org/x/net/bpf" @@ -58,7 +58,7 @@ return nil, 0, errNotImplemented } mi := (*ipv6Mtuinfo)(unsafe.Pointer(&b[0])) - if mi.Addr.Scope_id == 0 || runtime.GOOS == "aix" { + if mi.Addr.Scope_id == 0 || "linux" == "aix" { // AIX kernel might return a wrong address. return nil, int(mi.Mtu), nil } diff -ur ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/sys_freebsd.go ./libnetwork/vendor/golang.org/x/net/ipv6/sys_freebsd.go --- ../src.orig/libnetwork/vendor/golang.org/x/net/ipv6/sys_freebsd.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/net/ipv6/sys_freebsd.go 2023-10-15 10:22:26.347283463 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "strings" "syscall" "unsafe" @@ -47,7 +47,7 @@ ) func init() { - if runtime.GOOS == "freebsd" && runtime.GOARCH == "386" { + if "linux" == "freebsd" && runtime.GOARCH == "386" { archs, _ := syscall.Sysctl("kern.supported_archs") for _, s := range strings.Fields(archs) { if s == "amd64" { diff -ur ../src.orig/libnetwork/vendor/golang.org/x/sys/cpu/cpu_arm64.go ./libnetwork/vendor/golang.org/x/sys/cpu/cpu_arm64.go --- ../src.orig/libnetwork/vendor/golang.org/x/sys/cpu/cpu_arm64.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/sys/cpu/cpu_arm64.go 2023-10-15 10:22:26.333950087 +0000 @@ -4,12 +4,12 @@ package cpu -import "runtime" +import _ "runtime" const cacheLineSize = 64 func init() { - switch runtime.GOOS { + switch "linux" { case "android", "darwin", "netbsd": // Android and iOS don't seem to allow reading these registers. // diff -ur ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go ./libnetwork/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go --- ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go 2023-10-15 10:22:26.300616648 +0000 @@ -16,7 +16,7 @@ // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in // sockcmsg_dragonfly.go - switch runtime.GOOS { + switch "linux" { case "aix": // There is no alignment on AIX. salign = 1 diff -ur ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/syscall_bsd.go ./libnetwork/vendor/golang.org/x/sys/unix/syscall_bsd.go --- ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-10-15 10:22:26.287283271 +0000 @@ -13,7 +13,7 @@ package unix import ( - "runtime" + _ "runtime" "syscall" "unsafe" ) @@ -272,7 +272,7 @@ if err != nil { return } - if runtime.GOOS == "darwin" && len == 0 { + if "linux" == "darwin" && len == 0 { // Accepted socket has no address. // This is likely due to a bug in xnu kernels, // where instead of ECONNABORTED error socket @@ -296,7 +296,7 @@ } // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be // reported upstream. - if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + if "linux" == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { rsa.Addr.Family = AF_UNIX rsa.Addr.Len = SizeofSockaddrUnix } diff -ur ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/syscall_linux.go ./libnetwork/vendor/golang.org/x/sys/unix/syscall_linux.go --- ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/syscall_linux.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/sys/unix/syscall_linux.go 2023-10-15 10:22:26.323950056 +0000 @@ -13,7 +13,7 @@ import ( "encoding/binary" - "runtime" + _ "runtime" "syscall" "unsafe" ) @@ -1648,7 +1648,7 @@ func Dup2(oldfd, newfd int) error { // Android O and newer blocks dup2; riscv and arm64 don't implement dup2. - if runtime.GOOS == "android" || runtime.GOARCH == "riscv64" || runtime.GOARCH == "arm64" { + if "linux" == "android" || runtime.GOARCH == "riscv64" || runtime.GOARCH == "arm64" { return Dup3(oldfd, newfd, 0) } return dup2(oldfd, newfd) diff -ur ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/syscall_netbsd.go ./libnetwork/vendor/golang.org/x/sys/unix/syscall_netbsd.go --- ../src.orig/libnetwork/vendor/golang.org/x/sys/unix/syscall_netbsd.go 2023-07-24 09:20:29.000000000 +0000 +++ ./libnetwork/vendor/golang.org/x/sys/unix/syscall_netbsd.go 2023-10-15 10:22:26.277283239 +0000 @@ -13,7 +13,7 @@ package unix import ( - "runtime" + _ "runtime" "syscall" "unsafe" ) diff -ur ../src.orig/moby/api/server/middleware/version.go ./moby/api/server/middleware/version.go --- ../src.orig/moby/api/server/middleware/version.go 2023-10-15 10:21:30.100436625 +0000 +++ ./moby/api/server/middleware/version.go 2023-10-15 10:22:26.207283015 +0000 @@ -4,7 +4,7 @@ "context" "fmt" "net/http" - "runtime" + _ "runtime" "github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/types/versions" @@ -44,9 +44,9 @@ // WrapHandler returns a new handler function wrapping the previous one in the request chain. func (v VersionMiddleware) WrapHandler(handler func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error) func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error { return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error { - w.Header().Set("Server", fmt.Sprintf("Docker/%s (%s)", v.serverVersion, runtime.GOOS)) + w.Header().Set("Server", fmt.Sprintf("Docker/%s (%s)", v.serverVersion, "linux")) w.Header().Set("API-Version", v.defaultVersion) - w.Header().Set("OSType", runtime.GOOS) + w.Header().Set("OSType", "linux") apiVersion := vars["version"] if apiVersion == "" { diff -ur ../src.orig/moby/api/server/router/build/build.go ./moby/api/server/router/build/build.go --- ../src.orig/moby/api/server/router/build/build.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/api/server/router/build/build.go 2023-10-15 10:22:26.213949703 +0000 @@ -1,7 +1,7 @@ package build // import "github.com/docker/docker/api/server/router/build" import ( - "runtime" + _ "runtime" "github.com/docker/docker/api/server/router" "github.com/docker/docker/api/types" @@ -50,7 +50,7 @@ // up to the client to choose which builder to use. func BuilderVersion(features map[string]bool) types.BuilderVersion { // TODO(thaJeztah) move the default to daemon/config - if runtime.GOOS == "windows" { + if "linux" == "windows" { return types.BuilderV1 } diff -ur ../src.orig/moby/api/server/router/build/build_routes.go ./moby/api/server/router/build/build_routes.go --- ../src.orig/moby/api/server/router/build/build_routes.go 2023-10-15 10:21:30.100436625 +0000 +++ ./moby/api/server/router/build/build_routes.go 2023-10-15 10:22:26.213949703 +0000 @@ -9,7 +9,7 @@ "fmt" "io" "net/http" - "runtime" + _ "runtime" "strconv" "strings" "sync" @@ -61,9 +61,9 @@ BuildID: r.FormValue("buildid"), } - if runtime.GOOS != "windows" && options.SecurityOpt != nil { + if "linux" != "windows" && options.SecurityOpt != nil { // SecurityOpt only supports "credentials-spec" on Windows, and not used on other platforms. - return nil, invalidParam{errors.New("security options are not supported on " + runtime.GOOS)} + return nil, invalidParam{errors.New("security options are not supported on " + "linux")} } version := httputils.VersionFromContext(ctx) diff -ur ../src.orig/moby/api/server/router/container/container_routes.go ./moby/api/server/router/container/container_routes.go --- ../src.orig/moby/api/server/router/container/container_routes.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/api/server/router/container/container_routes.go 2023-10-15 10:22:26.210616359 +0000 @@ -6,7 +6,7 @@ "fmt" "io" "net/http" - "runtime" + _ "runtime" "strconv" "github.com/containerd/containerd/platforms" @@ -559,7 +559,7 @@ } } - if hostConfig != nil && runtime.GOOS == "linux" && versions.LessThan(version, "1.42") { + if hostConfig != nil && "linux" == "linux" && versions.LessThan(version, "1.42") { // ConsoleSize is not respected by Linux daemon before API 1.42 hostConfig.ConsoleSize = [2]uint{0, 0} } diff -ur ../src.orig/moby/builder/dockerfile/copy.go ./moby/builder/dockerfile/copy.go --- ../src.orig/moby/builder/dockerfile/copy.go 2023-10-15 10:21:30.100436625 +0000 +++ ./moby/builder/dockerfile/copy.go 2023-10-15 10:22:25.157279649 +0000 @@ -8,7 +8,7 @@ "net/url" "os" "path/filepath" - "runtime" + _ "runtime" "sort" "strings" "time" @@ -94,7 +94,7 @@ } if platform.OS == "" { // This is a failsafe just in case. Shouldn't be hit. - platform.OS = runtime.GOOS + platform.OS = "linux" } return copier{ diff -ur ../src.orig/moby/builder/dockerfile/dispatchers.go ./moby/builder/dockerfile/dispatchers.go --- ../src.orig/moby/builder/dockerfile/dispatchers.go 2023-10-15 10:21:30.100436625 +0000 +++ ./moby/builder/dockerfile/dispatchers.go 2023-10-15 10:22:25.153946305 +0000 @@ -11,7 +11,7 @@ "bytes" "context" "fmt" - "runtime" + _ "runtime" "sort" "strings" @@ -246,7 +246,7 @@ // Windows cannot support a container with no base image. if name == api.NoBaseImageSpecifier { // Windows supports scratch. What is not supported is running containers from it. - if runtime.GOOS == "windows" { + if "linux" == "windows" { return nil, errors.New("Windows does not support FROM scratch") } @@ -255,7 +255,7 @@ if platform != nil { imageImage.OS = platform.OS } else { - imageImage.OS = runtime.GOOS + imageImage.OS = "linux" } return builder.Image(imageImage), nil } diff -ur ../src.orig/moby/builder/dockerfile/imagecontext.go ./moby/builder/dockerfile/imagecontext.go --- ../src.orig/moby/builder/dockerfile/imagecontext.go 2023-10-15 10:21:30.100436625 +0000 +++ ./moby/builder/dockerfile/imagecontext.go 2023-10-15 10:22:25.157279649 +0000 @@ -2,7 +2,7 @@ import ( "context" - "runtime" + _ "runtime" "github.com/containerd/containerd/platforms" "github.com/docker/docker/api/types/backend" @@ -82,7 +82,7 @@ // Windows does not support scratch except for LCOW os := platform.OS - if runtime.GOOS == "windows" { + if "linux" == "windows" { os = "linux" } diff -ur ../src.orig/moby/builder/remotecontext/detect.go ./moby/builder/remotecontext/detect.go --- ../src.orig/moby/builder/remotecontext/detect.go 2023-10-15 10:21:30.100436625 +0000 +++ ./moby/builder/remotecontext/detect.go 2023-10-15 10:22:25.150612961 +0000 @@ -5,7 +5,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "strings" "github.com/containerd/continuity/driver" @@ -178,7 +178,7 @@ func FullPath(remote builder.Source, path string) (string, error) { fullPath, err := containerfs.ResolveScopedPath(remote.Root(), path) if err != nil { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return "", fmt.Errorf("failed to resolve scoped path %s (%s): %s. Possible cause is a forbidden path outside the build context", path, fullPath, err) } return "", fmt.Errorf("forbidden path outside the build context: %s (%s)", path, fullPath) // backwards compat with old error diff -ur ../src.orig/moby/builder/remotecontext/lazycontext.go ./moby/builder/remotecontext/lazycontext.go --- ../src.orig/moby/builder/remotecontext/lazycontext.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/builder/remotecontext/lazycontext.go 2023-10-15 10:22:25.153946305 +0000 @@ -4,7 +4,7 @@ "encoding/hex" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/builder" @@ -89,7 +89,7 @@ // handle UUID paths in windows. func Rel(basepath string, targpath string) (string, error) { // filepath.Rel can't handle UUID paths in windows - if runtime.GOOS == "windows" { + if "linux" == "windows" { pfx := basepath + `\` if strings.HasPrefix(targpath, pfx) { p := strings.TrimPrefix(targpath, pfx) diff -ur ../src.orig/moby/cmd/dockerd/daemon.go ./moby/cmd/dockerd/daemon.go --- ../src.orig/moby/cmd/dockerd/daemon.go 2023-10-15 10:21:30.090436594 +0000 +++ ./moby/cmd/dockerd/daemon.go 2023-10-15 10:22:26.197282983 +0000 @@ -8,7 +8,7 @@ "net/http" "os" "path/filepath" - "runtime" + _ "runtime" "sort" "strings" "sync" @@ -124,7 +124,7 @@ } // return human-friendly error before creating files - if runtime.GOOS == "linux" && os.Geteuid() != 0 { + if "linux" == "linux" && os.Geteuid() != 0 { return fmt.Errorf("dockerd needs to be started with root privileges. To run dockerd in rootless mode as an unprivileged user, see https://docs.docker.com/go/rootless/") } diff -ur ../src.orig/moby/container/container.go ./moby/container/container.go --- ../src.orig/moby/container/container.go 2023-10-15 10:21:30.103769969 +0000 +++ ./moby/container/container.go 2023-10-15 10:22:25.170613025 +0000 @@ -8,7 +8,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "sync" "syscall" @@ -160,7 +160,7 @@ // host OS if not, to ensure containers created before multiple-OS // support are migrated if container.OS == "" { - container.OS = runtime.GOOS + container.OS = "linux" } return container.readHostConfig() @@ -724,12 +724,12 @@ // Setup environment ctrOS := container.OS if ctrOS == "" { - ctrOS = runtime.GOOS + ctrOS = "linux" } // Figure out what size slice we need so we can allocate this all at once. envSize := len(container.Config.Env) - if runtime.GOOS != "windows" { + if "linux" != "windows" { envSize += 2 + len(linkedEnv) } if tty { @@ -737,7 +737,7 @@ } env := make([]string, 0, envSize) - if runtime.GOOS != "windows" { + if "linux" != "windows" { env = append(env, "PATH="+oci.DefaultPathEnv(ctrOS)) env = append(env, "HOSTNAME="+container.Config.Hostname) if tty { diff -ur ../src.orig/moby/container/exec.go ./moby/container/exec.go --- ../src.orig/moby/container/exec.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/container/exec.go 2023-10-15 10:22:25.170613025 +0000 @@ -1,7 +1,7 @@ package container // import "github.com/docker/docker/container" import ( - "runtime" + _ "runtime" "sync" "github.com/containerd/containerd/cio" @@ -52,7 +52,7 @@ func (c *ExecConfig) InitializeStdio(iop *cio.DirectIO) (cio.IO, error) { c.StreamConfig.CopyToPipe(iop) - if c.StreamConfig.Stdin() == nil && !c.Tty && runtime.GOOS == "windows" { + if c.StreamConfig.Stdin() == nil && !c.Tty && "linux" == "windows" { if iop.Stdin != nil { if err := iop.Stdin.Close(); err != nil { logrus.Errorf("error closing exec stdin: %+v", err) diff -ur ../src.orig/moby/daemon/cluster/cluster.go ./moby/daemon/cluster/cluster.go --- ../src.orig/moby/daemon/cluster/cluster.go 2023-10-15 10:21:30.103769969 +0000 +++ ./moby/daemon/cluster/cluster.go 2023-10-15 10:22:25.223946529 +0000 @@ -45,7 +45,7 @@ "net" "os" "path/filepath" - "runtime" + _ "runtime" "sync" "time" @@ -69,7 +69,7 @@ swarmRequestTimeout = 20 * time.Second stateFile = "docker-state.json" defaultAddr = "tcp://0.0.0.0:2377" - isWindows = runtime.GOOS == "windows" + isWindows = "linux" == "windows" initialReconnectDelay = 100 * time.Millisecond maxReconnectDelay = 30 * time.Second contextPrefix = "com.docker.swarm" diff -ur ../src.orig/moby/daemon/commit.go ./moby/daemon/commit.go --- ../src.orig/moby/daemon/commit.go 2023-10-15 10:21:30.103769969 +0000 +++ ./moby/daemon/commit.go 2023-10-15 10:22:25.250613282 +0000 @@ -3,7 +3,7 @@ import ( "context" "fmt" - "runtime" + _ "runtime" "strings" "time" @@ -128,7 +128,7 @@ // It is not possible to commit a running container on Windows if isWindows && container.IsRunning() { - return "", errors.Errorf("%+v does not support commit of a running container", runtime.GOOS) + return "", errors.Errorf("%+v does not support commit of a running container", "linux") } if container.IsDead() { diff -ur ../src.orig/moby/daemon/containerd/image_builder.go ./moby/daemon/containerd/image_builder.go --- ../src.orig/moby/daemon/containerd/image_builder.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/containerd/image_builder.go 2023-10-15 10:22:25.240613249 +0000 @@ -5,7 +5,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "time" "github.com/containerd/containerd" @@ -42,8 +42,8 @@ // releasableLayer.Release() to prevent leaking of layers. func (i *ImageService) GetImageAndReleasableLayer(ctx context.Context, refOrID string, opts backend.GetImageAndLayerOptions) (builder.Image, builder.ROLayer, error) { if refOrID == "" { // from SCRATCH - os := runtime.GOOS - if runtime.GOOS == "windows" { + os := "linux" + if "linux" == "windows" { os = "linux" } if opts.Platform != nil { diff -ur ../src.orig/moby/daemon/containerd/image_commit.go ./moby/daemon/containerd/image_commit.go --- ../src.orig/moby/daemon/containerd/image_commit.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/containerd/image_commit.go 2023-10-15 10:22:25.240613249 +0000 @@ -130,7 +130,7 @@ } os := baseConfig.OS if os == "" { - os = runtime.GOOS + os = "linux" logrus.Warnf("assuming os=%q", os) } logrus.Debugf("generateCommitImageConfig(): arch=%q, os=%q", arch, os) diff -ur ../src.orig/moby/daemon/container.go ./moby/daemon/container.go --- ../src.orig/moby/daemon/container.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/container.go 2023-10-15 10:22:25.237279905 +0000 @@ -4,7 +4,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "time" containertypes "github.com/docker/docker/api/types/container" @@ -303,7 +303,7 @@ return err } if !hostConfig.Isolation.IsValid() { - return errors.Errorf("invalid isolation '%s' on %s", hostConfig.Isolation, runtime.GOOS) + return errors.Errorf("invalid isolation '%s' on %s", hostConfig.Isolation, "linux") } for k := range hostConfig.Annotations { if k == "" { diff -ur ../src.orig/moby/daemon/create.go ./moby/daemon/create.go --- ../src.orig/moby/daemon/create.go 2023-10-15 10:21:30.103769969 +0000 +++ ./moby/daemon/create.go 2023-10-15 10:22:25.243946593 +0000 @@ -4,7 +4,7 @@ "context" "fmt" "net" - "runtime" + _ "runtime" "strings" "time" @@ -120,7 +120,7 @@ imgManifest *ocispec.Descriptor imgID image.ID err error - os = runtime.GOOS + os = "linux" ) if opts.params.Config.Image != "" { diff -ur ../src.orig/moby/daemon/daemon.go ./moby/daemon/daemon.go --- ../src.orig/moby/daemon/daemon.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/daemon.go 2023-10-15 10:22:25.250613282 +0000 @@ -933,7 +933,7 @@ shim string shimOpts interface{} ) - if runtime.GOOS != "windows" { + if "linux" != "windows" { shim, shimOpts, err = d.getRuntime(config.GetDefaultRuntimeName()) if err != nil { return nil, err @@ -974,7 +974,7 @@ // at this point. // // TODO(thaJeztah) add a utility to only collect the CgroupDevicesEnabled information - if runtime.GOOS == "linux" && !userns.RunningInUserNS() && !getSysInfo(d).CgroupDevicesEnabled { + if "linux" == "linux" && !userns.RunningInUserNS() && !getSysInfo(d).CgroupDevicesEnabled { return nil, errors.New("Devices cgroup isn't mounted") } diff -ur ../src.orig/moby/daemon/daemon_unix.go ./moby/daemon/daemon_unix.go --- ../src.orig/moby/daemon/daemon_unix.go 2023-10-15 10:21:30.103769969 +0000 +++ ./moby/daemon/daemon_unix.go 2023-10-15 10:22:25.227279873 +0000 @@ -10,7 +10,7 @@ "net" "os" "path/filepath" - "runtime" + _ "runtime" "runtime/debug" "strconv" "strings" @@ -513,7 +513,7 @@ return warnings, fmt.Errorf("CPU cfs quota can not be less than 1ms (i.e. 1000)") } if resources.CPUPercent > 0 { - warnings = append(warnings, fmt.Sprintf("%s does not support CPU percent. Percent discarded.", runtime.GOOS)) + warnings = append(warnings, fmt.Sprintf("%s does not support CPU percent. Percent discarded.", "linux")) resources.CPUPercent = 0 } @@ -547,7 +547,7 @@ return warnings, fmt.Errorf("Range of blkio weight is from 10 to 1000") } if resources.IOMaximumBandwidth != 0 || resources.IOMaximumIOps != 0 { - return warnings, fmt.Errorf("Invalid QoS settings: %s does not support Maximum IO Bandwidth or Maximum IO IOps", runtime.GOOS) + return warnings, fmt.Errorf("Invalid QoS settings: %s does not support Maximum IO Bandwidth or Maximum IO IOps", "linux") } if len(resources.BlkioWeightDevice) > 0 && !sysInfo.BlkioWeightDevice { warnings = append(warnings, "Your kernel does not support Block I/O weight_device or the cgroup is not mounted. Weight-device discarded.") @@ -1183,7 +1183,7 @@ } func setupRemappedRoot(config *config.Config) (idtools.IdentityMapping, error) { - if runtime.GOOS != "linux" && config.RemappedRoot != "" { + if "linux" != "linux" && config.RemappedRoot != "" { return idtools.IdentityMapping{}, fmt.Errorf("User namespaces are only supported on Linux") } diff -ur ../src.orig/moby/daemon/daemon_windows.go ./moby/daemon/daemon_windows.go --- ../src.orig/moby/daemon/daemon_windows.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/daemon_windows.go 2023-10-15 10:22:25.207279809 +0000 @@ -5,7 +5,7 @@ "fmt" "math" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/Microsoft/hcsshim" diff -ur ../src.orig/moby/daemon/exec.go ./moby/daemon/exec.go --- ../src.orig/moby/daemon/exec.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/exec.go 2023-10-15 10:22:25.243946593 +0000 @@ -5,7 +5,7 @@ "encoding/json" "fmt" "io" - "runtime" + _ "runtime" "strings" "time" @@ -217,7 +217,7 @@ } p := &specs.Process{} - if runtime.GOOS != "windows" { + if "linux" != "windows" { ctr, err := daemon.containerdCli.LoadContainer(ctx, ec.Container.ID) if err != nil { return err diff -ur ../src.orig/moby/daemon/health.go ./moby/daemon/health.go --- ../src.orig/moby/daemon/health.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/health.go 2023-10-15 10:22:25.230613217 +0000 @@ -4,7 +4,7 @@ "bytes" "context" "fmt" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -428,10 +428,10 @@ if len(cntr.Config.Shell) != 0 { return cntr.Config.Shell } - if runtime.GOOS != "windows" { + if "linux" != "windows" { return []string{"/bin/sh", "-c"} } - if cntr.OS != runtime.GOOS { + if cntr.OS != "linux" { return []string{"/bin/sh", "-c"} } return []string{"cmd", "/S", "/C"} diff -ur ../src.orig/moby/daemon/images/image_builder.go ./moby/daemon/images/image_builder.go --- ../src.orig/moby/daemon/images/image_builder.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/images/image_builder.go 2023-10-15 10:22:25.247279937 +0000 @@ -3,7 +3,7 @@ import ( "context" "io" - "runtime" + _ "runtime" "github.com/containerd/containerd/platforms" "github.com/docker/distribution/reference" @@ -201,8 +201,8 @@ // leaking of layers. func (i *ImageService) GetImageAndReleasableLayer(ctx context.Context, refOrID string, opts backend.GetImageAndLayerOptions) (builder.Image, builder.ROLayer, error) { if refOrID == "" { // ie FROM scratch - os := runtime.GOOS - if runtime.GOOS == "windows" { + os := "linux" + if "linux" == "windows" { os = "linux" } if opts.Platform != nil { diff -ur ../src.orig/moby/daemon/images/image_unix.go ./moby/daemon/images/image_unix.go --- ../src.orig/moby/daemon/images/image_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/images/image_unix.go 2023-10-15 10:22:25.247279937 +0000 @@ -24,7 +24,7 @@ err error ) - // Safe to index by runtime.GOOS as Unix hosts don't support multiple + // Safe to index by "linux" as Unix hosts don't support multiple // container operating systems. rwlayer, err := i.layerStore.GetRWLayer(containerID) if err != nil { diff -ur ../src.orig/moby/daemon/images/mount.go ./moby/daemon/images/mount.go --- ../src.orig/moby/daemon/images/mount.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/images/mount.go 2023-10-15 10:22:25.247279937 +0000 @@ -3,7 +3,7 @@ import ( "context" "fmt" - "runtime" + _ "runtime" "github.com/docker/docker/container" "github.com/pkg/errors" @@ -26,7 +26,7 @@ // The mount path reported by the graph driver should always be trusted on Windows, since the // volume path for a given mounted layer may change over time. This should only be an error // on non-Windows operating systems. - if runtime.GOOS != "windows" { + if "linux" != "windows" { i.Unmount(ctx, container) return fmt.Errorf("Error: driver %s is returning inconsistent paths for container %s ('%s' then '%s')", i.StorageDriver(), container.ID, container.BaseFS, dir) diff -ur ../src.orig/moby/daemon/info.go ./moby/daemon/info.go --- ../src.orig/moby/daemon/info.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/info.go 2023-10-15 10:22:25.210613153 +0000 @@ -44,7 +44,7 @@ OperatingSystem: operatingSystem(), OSVersion: osVersion(), IndexServerAddress: registry.IndexServer, - OSType: runtime.GOOS, + OSType: "linux", Architecture: platform.Architecture, RegistryConfig: daemon.registryService.ServiceConfig(), NCPU: sysinfo.NumCPU(), @@ -91,7 +91,7 @@ "ApiVersion": api.DefaultVersion, "MinAPIVersion": api.MinVersion, "GoVersion": runtime.Version(), - "Os": runtime.GOOS, + "Os": "linux", "Arch": runtime.GOARCH, "BuildTime": dockerversion.BuildTime, "KernelVersion": kernelVersion, @@ -106,7 +106,7 @@ APIVersion: api.DefaultVersion, MinAPIVersion: api.MinVersion, GoVersion: runtime.Version(), - Os: runtime.GOOS, + Os: "linux", Arch: runtime.GOARCH, BuildTime: dockerversion.BuildTime, KernelVersion: kernelVersion, diff -ur ../src.orig/moby/daemon/kill.go ./moby/daemon/kill.go --- ../src.orig/moby/daemon/kill.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/kill.go 2023-10-15 10:22:25.253946626 +0000 @@ -3,7 +3,7 @@ import ( "context" "fmt" - "runtime" + _ "runtime" "strconv" "syscall" "time" @@ -41,7 +41,7 @@ return errdefs.InvalidParameter(err) } if !signal.ValidSignalForPlatform(sig) { - return errdefs.InvalidParameter(errors.Errorf("the %s daemon does not support signal %d", runtime.GOOS, sig)) + return errdefs.InvalidParameter(errors.Errorf("the %s daemon does not support signal %d", "linux", sig)) } } container, err := daemon.GetContainer(name) @@ -147,7 +147,7 @@ } waitTimeout := 10 * time.Second - if runtime.GOOS == "windows" { + if "linux" == "windows" { waitTimeout = 75 * time.Second // runhcs can be sloooooow. } diff -ur ../src.orig/moby/daemon/start.go ./moby/daemon/start.go --- ../src.orig/moby/daemon/start.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/start.go 2023-10-15 10:22:25.243946593 +0000 @@ -2,7 +2,7 @@ import ( "context" - "runtime" + _ "runtime" "time" "github.com/docker/docker/api/types" @@ -48,7 +48,7 @@ } // Windows does not have the backwards compatibility issue here. - if runtime.GOOS != "windows" { + if "linux" != "windows" { // This is kept for backward compatibility - hostconfig should be passed when // creating a container, not during start. if hostConfig != nil { diff -ur ../src.orig/moby/daemon/stats_collector.go ./moby/daemon/stats_collector.go --- ../src.orig/moby/daemon/stats_collector.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/stats_collector.go 2023-10-15 10:22:25.247279937 +0000 @@ -1,7 +1,7 @@ package daemon // import "github.com/docker/docker/daemon" import ( - "runtime" + _ "runtime" "time" "github.com/docker/docker/daemon/stats" @@ -14,7 +14,7 @@ // and will start processing stats when they are started. func (daemon *Daemon) newStatsCollector(interval time.Duration) *stats.Collector { // FIXME(vdemeester) move this elsewhere - if runtime.GOOS == "linux" { + if "linux" == "linux" { meminfo, err := meminfo.Read() if err == nil && meminfo.MemTotal > 0 { daemon.machineMemory = uint64(meminfo.MemTotal) diff -ur ../src.orig/moby/daemon/stats.go ./moby/daemon/stats.go --- ../src.orig/moby/daemon/stats.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/daemon/stats.go 2023-10-15 10:22:25.250613282 +0000 @@ -4,7 +4,7 @@ "context" "encoding/json" "errors" - "runtime" + _ "runtime" "time" "github.com/docker/docker/api/types" @@ -152,7 +152,7 @@ } // We already have the network stats on Windows directly from HCS. - if !container.Config.NetworkDisabled && runtime.GOOS != "windows" { + if !container.Config.NetworkDisabled && "linux" != "windows" { if stats.Networks, err = daemon.getNetworkStats(container); err != nil { return nil, err } diff -ur ../src.orig/moby/distribution/config.go ./moby/distribution/config.go --- ../src.orig/moby/distribution/config.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/distribution/config.go 2023-10-15 10:22:26.213949703 +0000 @@ -4,7 +4,7 @@ "context" "encoding/json" "io" - "runtime" + _ "runtime" "github.com/docker/distribution" "github.com/docker/distribution/manifest/schema2" @@ -149,7 +149,7 @@ os := unmarshalledConfig.OS if os == "" { - os = runtime.GOOS + os = "linux" } if !system.IsOSSupported(os) { return nil, errors.Wrapf(system.ErrNotSupportedOperatingSystem, "image operating system %q cannot be used on this platform", os) diff -ur ../src.orig/moby/distribution/pull_v2.go ./moby/distribution/pull_v2.go --- ../src.orig/moby/distribution/pull_v2.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/distribution/pull_v2.go 2023-10-15 10:22:26.217283047 +0000 @@ -6,7 +6,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "strings" "time" @@ -520,7 +520,7 @@ // Early bath if the requested OS doesn't match that of the configuration. // This avoids doing the download, only to potentially fail later. if !system.IsOSSupported(platform.OS) { - return "", "", fmt.Errorf("cannot download image with operating system %q when requesting %q", runtime.GOOS, platform.OS) + return "", "", fmt.Errorf("cannot download image with operating system %q when requesting %q", "linux", platform.OS) } } @@ -672,7 +672,7 @@ configPlatform *ocispec.Platform // for LCOW when registering downloaded layers ) - layerStoreOS := runtime.GOOS + layerStoreOS := "linux" if platform != nil { layerStoreOS = platform.OS } @@ -685,7 +685,7 @@ // which aren't suitable for NTFS. At some point in the future, if a similar // check to block Windows images being pulled on Linux is implemented, it // may be necessary to perform the same type of serialisation. - if runtime.GOOS == "windows" { + if "linux" == "windows" { configJSON, configRootFS, configPlatform, err = receiveConfig(configChan, configErrChan) if err != nil { return "", err @@ -1042,7 +1042,7 @@ } } - if imgs[len(imgs)-1].Parent != "" && runtime.GOOS != "windows" { + if imgs[len(imgs)-1].Parent != "" && "linux" != "windows" { // Windows base layer can point to a base layer parent that is not in manifest. return errors.New("invalid parent ID in the base layer of the image") } diff -ur ../src.orig/moby/distribution/pull_v2_windows.go ./moby/distribution/pull_v2_windows.go --- ../src.orig/moby/distribution/pull_v2_windows.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/distribution/pull_v2_windows.go 2023-10-15 10:22:26.217283047 +0000 @@ -6,7 +6,7 @@ "fmt" "io" "net/http" - "runtime" + _ "runtime" "sort" "strconv" "strings" diff -ur ../src.orig/moby/distribution/push_v2.go ./moby/distribution/push_v2.go --- ../src.orig/moby/distribution/push_v2.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/distribution/push_v2.go 2023-10-15 10:22:26.217283047 +0000 @@ -5,7 +5,7 @@ "fmt" "io" "os" - "runtime" + _ "runtime" "sort" "strings" "sync" @@ -188,7 +188,7 @@ putOptions := []distribution.ManifestServiceOption{distribution.WithTag(ref.Tag())} if _, err = manSvc.Put(ctx, manifest, putOptions...); err != nil { - if runtime.GOOS == "windows" { + if "linux" == "windows" { logrus.Warnf("failed to upload schema2 manifest: %v", err) return err } diff -ur ../src.orig/moby/dockerversion/useragent.go ./moby/dockerversion/useragent.go --- ../src.orig/moby/dockerversion/useragent.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/dockerversion/useragent.go 2023-10-15 10:22:26.193949639 +0000 @@ -50,7 +50,7 @@ if kernelVersion, err := kernel.GetKernelVersion(); err == nil { httpVersion = append(httpVersion, useragent.VersionInfo{Name: "kernel", Version: kernelVersion.String()}) } - httpVersion = append(httpVersion, useragent.VersionInfo{Name: "os", Version: runtime.GOOS}) + httpVersion = append(httpVersion, useragent.VersionInfo{Name: "os", Version: "linux"}) httpVersion = append(httpVersion, useragent.VersionInfo{Name: "arch", Version: runtime.GOARCH}) daemonUA = useragent.AppendVersions("", httpVersion...) }) diff -ur ../src.orig/moby/image/rootfs.go ./moby/image/rootfs.go --- ../src.orig/moby/image/rootfs.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/image/rootfs.go 2023-10-15 10:22:26.120616070 +0000 @@ -1,7 +1,7 @@ package image // import "github.com/docker/docker/image" import ( - "runtime" + _ "runtime" "github.com/docker/docker/layer" "github.com/sirupsen/logrus" @@ -45,7 +45,7 @@ // ChainID returns the ChainID for the top layer in RootFS. func (r *RootFS) ChainID() layer.ChainID { - if runtime.GOOS == "windows" && r.Type == typeLayersWithBase { + if "linux" == "windows" && r.Type == typeLayersWithBase { logrus.Warnf("Layer type is unsupported on this platform. DiffIDs: '%v'", r.DiffIDs) return "" } diff -ur ../src.orig/moby/image/tarexport/load.go ./moby/image/tarexport/load.go --- ../src.orig/moby/image/tarexport/load.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/image/tarexport/load.go 2023-10-15 10:22:26.123949415 +0000 @@ -7,7 +7,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "github.com/docker/distribution" "github.com/docker/distribution/reference" @@ -83,7 +83,7 @@ return err } if !system.IsOSSupported(img.OperatingSystem()) { - return fmt.Errorf("cannot load %s image on %s", img.OperatingSystem(), runtime.GOOS) + return fmt.Errorf("cannot load %s image on %s", img.OperatingSystem(), "linux") } rootFS := *img.RootFS rootFS.DiffIDs = nil @@ -212,7 +212,7 @@ } func (l *tarexporter) legacyLoad(tmpDir string, outStream io.Writer, progressOutput progress.Output) error { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return errors.New("Windows does not support legacy loading of images") } @@ -292,10 +292,10 @@ } if img.OS == "" { - img.OS = runtime.GOOS + img.OS = "linux" } if !system.IsOSSupported(img.OS) { - return fmt.Errorf("cannot load %s image on %s", img.OS, runtime.GOOS) + return fmt.Errorf("cannot load %s image on %s", img.OS, "linux") } var parentID image.ID diff -ur ../src.orig/moby/integration/internal/container/container.go ./moby/integration/internal/container/container.go --- ../src.orig/moby/integration/internal/container/container.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/integration/internal/container/container.go 2023-10-15 10:22:25.190613090 +0000 @@ -2,7 +2,7 @@ import ( "context" - "runtime" + _ "runtime" "testing" "github.com/docker/docker/api/types" @@ -27,7 +27,7 @@ func create(ctx context.Context, t *testing.T, client client.APIClient, ops ...func(*TestContainerConfig)) (container.CreateResponse, error) { t.Helper() cmd := []string{"top"} - if runtime.GOOS == "windows" { + if "linux" == "windows" { cmd = []string{"sleep", "240"} } config := &TestContainerConfig{ diff -ur ../src.orig/moby/integration/internal/swarm/service.go ./moby/integration/internal/swarm/service.go --- ../src.orig/moby/integration/internal/swarm/service.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/integration/internal/swarm/service.go 2023-10-15 10:22:25.190613090 +0000 @@ -2,7 +2,7 @@ import ( "context" - "runtime" + _ "runtime" "testing" "time" diff -ur ../src.orig/moby/libcontainerd/remote/client.go ./moby/libcontainerd/remote/client.go --- ../src.orig/moby/libcontainerd/remote/client.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/libcontainerd/remote/client.go 2023-10-15 10:22:26.167282886 +0000 @@ -7,7 +7,7 @@ "os" "path/filepath" "reflect" - "runtime" + _ "runtime" "strings" "sync" "syscall" @@ -203,7 +203,7 @@ }, } - if runtime.GOOS != "windows" { + if "linux" != "windows" { taskOpts = append(taskOpts, func(_ context.Context, _ *containerd.Client, info *containerd.TaskInfo) error { if c.v2runcoptions != nil { opts := *c.v2runcoptions diff -ur ../src.orig/moby/libnetwork/controller.go ./moby/libnetwork/controller.go --- ../src.orig/moby/libnetwork/controller.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/libnetwork/controller.go 2023-10-15 10:22:26.160616198 +0000 @@ -47,7 +47,7 @@ "fmt" "net" "path/filepath" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -871,7 +871,7 @@ c.mu.Unlock() sandboxID := stringid.GenerateRandomID() - if runtime.GOOS == "windows" { + if "linux" == "windows" { sandboxID = containerID } diff -ur ../src.orig/moby/libnetwork/network.go ./moby/libnetwork/network.go --- ../src.orig/moby/libnetwork/network.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/libnetwork/network.go 2023-10-15 10:22:26.157282854 +0000 @@ -4,7 +4,7 @@ "encoding/json" "fmt" "net" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -1079,7 +1079,7 @@ // Cleanup the load balancer. On Windows this call is required // to remove remote loadbalancers in VFP, and must be performed before // dataplane network deletion. - if runtime.GOOS == "windows" { + if "linux" == "windows" { c.cleanupServiceBindings(n.ID()) } diff -ur ../src.orig/moby/oci/defaults.go ./moby/oci/defaults.go --- ../src.orig/moby/oci/defaults.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/oci/defaults.go 2023-10-15 10:22:26.243949799 +0000 @@ -1,7 +1,7 @@ package oci // import "github.com/docker/docker/oci" import ( - "runtime" + _ "runtime" "github.com/docker/docker/oci/caps" specs "github.com/opencontainers/runtime-spec/specs-go" @@ -29,7 +29,7 @@ // DefaultSpec returns the default spec used by docker for the current Platform func DefaultSpec() specs.Spec { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return DefaultWindowsSpec() } return DefaultLinuxSpec() diff -ur ../src.orig/moby/pkg/archive/archive.go ./moby/pkg/archive/archive.go --- ../src.orig/moby/pkg/archive/archive.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/archive/archive.go 2023-10-15 10:22:26.117282726 +0000 @@ -14,7 +14,7 @@ "os" "os/exec" "path/filepath" - "runtime" + _ "runtime" "strconv" "strings" "syscall" @@ -744,7 +744,7 @@ } // Lchown is not supported on Windows. - if Lchown && runtime.GOOS != "windows" { + if Lchown && "linux" != "windows" { if chownOpts == nil { chownOpts = &idtools.Identity{UID: hdr.Uid, GID: hdr.Gid} } diff -ur ../src.orig/moby/pkg/archive/changes_other.go ./moby/pkg/archive/changes_other.go --- ../src.orig/moby/pkg/archive/changes_other.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/archive/changes_other.go 2023-10-15 10:22:26.113949382 +0000 @@ -7,7 +7,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/pkg/system" @@ -58,7 +58,7 @@ // See https://github.com/golang/go/issues/9168 - bug in filepath.Join. // Temporary workaround. If the returned path starts with two backslashes, // trim it down to a single backslash. Only relevant on Windows. - if runtime.GOOS == "windows" { + if "linux" == "windows" { if strings.HasPrefix(relPath, `\\`) { relPath = relPath[1:] } diff -ur ../src.orig/moby/pkg/archive/diff.go ./moby/pkg/archive/diff.go --- ../src.orig/moby/pkg/archive/diff.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/archive/diff.go 2023-10-15 10:22:26.117282726 +0000 @@ -6,7 +6,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/pkg/pools" @@ -65,7 +65,7 @@ // specific or Linux-specific, this warning should be changed to an error // to cater for the situation where someone does manage to upload a Linux // image but have it tagged as Windows inadvertently. - if runtime.GOOS == "windows" { + if "linux" == "windows" { if strings.Contains(hdr.Name, ":") { logrus.Warnf("Windows: Ignoring %s (is this a Linux image?)", hdr.Name) continue diff -ur ../src.orig/moby/pkg/longpath/longpath.go ./moby/pkg/longpath/longpath.go --- ../src.orig/moby/pkg/longpath/longpath.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/longpath/longpath.go 2023-10-15 10:22:26.093949318 +0000 @@ -7,7 +7,7 @@ import ( "os" - "runtime" + _ "runtime" "strings" ) @@ -36,7 +36,7 @@ if err != nil { return "", err } - if runtime.GOOS != "windows" { + if "linux" != "windows" { return tempDir, nil } return AddPrefix(tempDir), nil diff -ur ../src.orig/moby/pkg/platform/platform.go ./moby/pkg/platform/platform.go --- ../src.orig/moby/pkg/platform/platform.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/platform/platform.go 2023-10-15 10:22:26.103949350 +0000 @@ -3,7 +3,7 @@ package platform // import "github.com/docker/docker/pkg/platform" import ( - "runtime" + _ "runtime" "github.com/sirupsen/logrus" ) @@ -18,10 +18,10 @@ var Architecture string // OSType holds the runtime operating system type of the process. It is -// an alias for [runtime.GOOS]. +// an alias for ["linux"]. // -// Deprecated: use [runtime.GOOS] instead. -const OSType = runtime.GOOS +// Deprecated: use ["linux"] instead. +const OSType = "linux" func init() { var err error diff -ur ../src.orig/moby/pkg/process/process_unix.go ./moby/pkg/process/process_unix.go --- ../src.orig/moby/pkg/process/process_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/process/process_unix.go 2023-10-15 10:22:26.120616070 +0000 @@ -8,7 +8,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "strconv" "golang.org/x/sys/unix" @@ -22,7 +22,7 @@ if pid < 1 { return false } - switch runtime.GOOS { + switch "linux" { case "darwin": // OS X does not have a proc filesystem. Use kill -0 pid to judge if the // process exists. From KILL(2): https://www.freebsd.org/cgi/man.cgi?query=kill&sektion=2&manpath=OpenDarwin+7.2.1 diff -ur ../src.orig/moby/pkg/system/image_os.go ./moby/pkg/system/image_os.go --- ../src.orig/moby/pkg/system/image_os.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/system/image_os.go 2023-10-15 10:22:26.100616006 +0000 @@ -1,10 +1,10 @@ package system // import "github.com/docker/docker/pkg/system" import ( - "runtime" + _ "runtime" "strings" ) // IsOSSupported determines if an operating system is supported by the host. func IsOSSupported(os string) bool { - return strings.EqualFold(runtime.GOOS, os) + return strings.EqualFold("linux", os) } diff -ur ../src.orig/moby/pkg/tarsum/fileinfosums.go ./moby/pkg/tarsum/fileinfosums.go --- ../src.orig/moby/pkg/tarsum/fileinfosums.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/pkg/tarsum/fileinfosums.go 2023-10-15 10:22:26.093949318 +0000 @@ -1,7 +1,7 @@ package tarsum // import "github.com/docker/docker/pkg/tarsum" import ( - "runtime" + _ "runtime" "sort" "strings" ) @@ -42,8 +42,8 @@ // We do case insensitive matching on Windows as c:\APP and c:\app are // the same. See issue #33107. for i := range fis { - if (runtime.GOOS == "windows" && strings.EqualFold(fis[i].Name(), name)) || - (runtime.GOOS != "windows" && fis[i].Name() == name) { + if ("linux" == "windows" && strings.EqualFold(fis[i].Name(), name)) || + ("linux" != "windows" && fis[i].Name() == name) { return fis[i] } } diff -ur ../src.orig/moby/plugin/v2/plugin_linux.go ./moby/plugin/v2/plugin_linux.go --- ../src.orig/moby/plugin/v2/plugin_linux.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/plugin/v2/plugin_linux.go 2023-10-15 10:22:25.203946465 +0000 @@ -3,7 +3,7 @@ import ( "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/api/types" @@ -113,7 +113,7 @@ } envs := make([]string, 1, len(p.PluginObj.Settings.Env)+1) - envs[0] = "PATH=" + oci.DefaultPathEnv(runtime.GOOS) + envs[0] = "PATH=" + oci.DefaultPathEnv("linux") envs = append(envs, p.PluginObj.Settings.Env...) args := append(p.PluginObj.Config.Entrypoint, p.PluginObj.Settings.Args...) diff -ur ../src.orig/moby/runconfig/hostconfig_unix.go ./moby/runconfig/hostconfig_unix.go --- ../src.orig/moby/runconfig/hostconfig_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/runconfig/hostconfig_unix.go 2023-10-15 10:22:25.200613121 +0000 @@ -5,7 +5,7 @@ import ( "fmt" - "runtime" + _ "runtime" "github.com/docker/docker/api/types/container" "github.com/docker/docker/pkg/sysinfo" @@ -44,7 +44,7 @@ // which is LXC container isolation func validateIsolation(hc *container.HostConfig) error { if !hc.Isolation.IsValid() { - return fmt.Errorf("Invalid isolation: %q - %s only supports 'default'", hc.Isolation, runtime.GOOS) + return fmt.Errorf("Invalid isolation: %q - %s only supports 'default'", hc.Isolation, "linux") } return nil } @@ -52,10 +52,10 @@ // validateQoS performs platform specific validation of the QoS settings func validateQoS(hc *container.HostConfig) error { if hc.IOMaximumBandwidth != 0 { - return fmt.Errorf("Invalid QoS settings: %s does not support configuration of maximum bandwidth", runtime.GOOS) + return fmt.Errorf("Invalid QoS settings: %s does not support configuration of maximum bandwidth", "linux") } if hc.IOMaximumIOps != 0 { - return fmt.Errorf("Invalid QoS settings: %s does not support configuration of maximum IOPs", runtime.GOOS) + return fmt.Errorf("Invalid QoS settings: %s does not support configuration of maximum IOPs", "linux") } return nil } diff -ur ../src.orig/moby/vendor/cloud.google.com/go/compute/metadata/metadata.go ./moby/vendor/cloud.google.com/go/compute/metadata/metadata.go --- ../src.orig/moby/vendor/cloud.google.com/go/compute/metadata/metadata.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/cloud.google.com/go/compute/metadata/metadata.go 2023-10-15 10:22:25.267280002 +0000 @@ -28,7 +28,7 @@ "net/http" "net/url" "os" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -191,7 +191,7 @@ // returns true, testOnGCE tries a bit harder to reach its metadata // server. func systemInfoSuggestsGCE() bool { - if runtime.GOOS != "linux" { + if "linux" != "linux" { // We don't have any non-Linux clues available, at least yet. return false } diff -ur ../src.orig/moby/vendor/cloud.google.com/go/logging/resource.go ./moby/vendor/cloud.google.com/go/logging/resource.go --- ../src.orig/moby/vendor/cloud.google.com/go/logging/resource.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/cloud.google.com/go/logging/resource.go 2023-10-15 10:22:25.263946658 +0000 @@ -68,7 +68,7 @@ "module_id": os.Getenv("GAE_SERVICE"), "version_id": os.Getenv("GAE_VERSION"), "instance_id": os.Getenv("GAE_INSTANCE"), - "runtime": os.Getenv("GAE_RUNTIME"), + "runtime": os.Getenv("GAE_RUNTIME"), "zone": zone, }, } diff -ur ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go --- ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go 2023-10-15 10:22:25.640614531 +0000 @@ -2,12 +2,12 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" - "runtime" + _ "runtime" "strings" ) var getGOOS = func() string { - return runtime.GOOS + return "linux" } // ResolveDefaultsModeAuto is used to determine the effective aws.DefaultsMode when the mode diff -ur ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go --- ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go 2023-10-15 10:22:25.640614531 +0000 @@ -3,10 +3,10 @@ package middleware -import "runtime" +import _ "runtime" func getNormalizedOSName() (os string) { - switch runtime.GOOS { + switch "linux" { case "android": os = "android" case "linux": diff -ur ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go --- ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go 2023-10-15 10:22:25.640614531 +0000 @@ -3,10 +3,10 @@ package middleware -import "runtime" +import _ "runtime" func getNormalizedOSName() (os string) { - switch runtime.GOOS { + switch "linux" { case "android": os = "android" case "linux": diff -ur ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go --- ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go 2023-10-15 10:22:25.640614531 +0000 @@ -92,7 +92,7 @@ func addSDKMetadata(r *requestUserAgent) { r.AddSDKAgentKey(OperatingSystemMetadata, getNormalizedOSName()) r.AddSDKAgentKeyValue(LanguageMetadata, "go", languageVersion) - r.AddSDKAgentKeyValue(AdditionalMetadata, "GOOS", runtime.GOOS) + r.AddSDKAgentKeyValue(AdditionalMetadata, "GOOS", "linux") r.AddSDKAgentKeyValue(AdditionalMetadata, "GOARCH", runtime.GOARCH) if ev := os.Getenv(execEnvVar); len(ev) > 0 { r.AddSDKAgentKey(EnvironmentMetadata, ev) diff -ur ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/provider.go ./moby/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/provider.go --- ../src.orig/moby/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/provider.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/provider.go 2023-10-15 10:22:25.657281252 +0000 @@ -8,7 +8,7 @@ "io" "os" "os/exec" - "runtime" + _ "runtime" "time" "github.com/aws/aws-sdk-go-v2/aws" @@ -87,7 +87,7 @@ // stderr, and stdin pipes. func (b DefaultNewCommandBuilder) NewCommand(ctx context.Context) (*exec.Cmd, error) { var cmdArgs []string - if runtime.GOOS == "windows" { + if "linux" == "windows" { cmdArgs = []string{"cmd.exe", "/C"} } else { cmdArgs = []string{"sh", "-c"} @@ -250,7 +250,7 @@ } out := output.Bytes() - if runtime.GOOS == "windows" { + if "linux" == "windows" { // windows adds slashes to quotes out = bytes.ReplaceAll(out, []byte(`\"`), []byte(`"`)) } diff -ur ../src.orig/moby/vendor/github.com/cilium/ebpf/internal/unix/types_other.go ./moby/vendor/github.com/cilium/ebpf/internal/unix/types_other.go --- ../src.orig/moby/vendor/github.com/cilium/ebpf/internal/unix/types_other.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/cilium/ebpf/internal/unix/types_other.go 2023-10-15 10:22:25.737281508 +0000 @@ -5,11 +5,11 @@ import ( "fmt" - "runtime" + _ "runtime" "syscall" ) -var errNonLinux = fmt.Errorf("unsupported platform %s/%s", runtime.GOOS, runtime.GOARCH) +var errNonLinux = fmt.Errorf("unsupported platform %s/%s", "linux", runtime.GOARCH) const ( ENOENT = syscall.ENOENT diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/archive/tar.go ./moby/vendor/github.com/containerd/containerd/archive/tar.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/archive/tar.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/archive/tar.go 2023-10-15 10:22:25.947282182 +0000 @@ -24,7 +24,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "sync" "syscall" @@ -382,7 +382,7 @@ } // Lchown is not supported on Windows. - if runtime.GOOS != "windows" { + if "linux" != "windows" { if err := os.Lchown(path, hdr.Uid, hdr.Gid); err != nil { err = fmt.Errorf("failed to Lchown %q for UID %d, GID %d: %w", path, hdr.Uid, hdr.Gid, err) if errors.Is(err, syscall.EINVAL) && userns.RunningInUserNS() { diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/archive/tar_unix.go ./moby/vendor/github.com/containerd/containerd/archive/tar_unix.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/archive/tar_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/archive/tar_unix.go 2023-10-15 10:22:25.947282182 +0000 @@ -24,7 +24,7 @@ "errors" "fmt" "os" - "runtime" + _ "runtime" "strings" "syscall" @@ -54,7 +54,7 @@ // Since `Stat_t.Rdev` is uint64, the cast turns -1 into (2^64 - 1). // Such large values cannot be encoded in a tar header. - if runtime.GOOS == "freebsd" && hdr.Typeflag != tar.TypeBlock && hdr.Typeflag != tar.TypeChar { + if "linux" == "freebsd" && hdr.Typeflag != tar.TypeBlock && hdr.Typeflag != tar.TypeChar { return nil } s, ok := fi.Sys().(*syscall.Stat_t) diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/client.go ./moby/vendor/github.com/containerd/containerd/client.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/client.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/client.go 2023-10-15 10:22:25.913948741 +0000 @@ -21,7 +21,7 @@ "context" "encoding/json" "fmt" - "runtime" + _ "runtime" "strconv" "strings" "sync" @@ -182,7 +182,7 @@ c := &Client{ defaultns: copts.defaultns, conn: conn, - runtime: fmt.Sprintf("%s.%s", plugin.RuntimePlugin, runtime.GOOS), + runtime: fmt.Sprintf("%s.%s", plugin.RuntimePlugin, "linux"), } // check namespace labels for default runtime diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/container_checkpoint_opts.go ./moby/vendor/github.com/containerd/containerd/container_checkpoint_opts.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/container_checkpoint_opts.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/container_checkpoint_opts.go 2023-10-15 10:22:25.927282117 +0000 @@ -88,7 +88,7 @@ return err } desc.Platform = &imagespec.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, } index.Manifests = append(index.Manifests, desc) @@ -108,7 +108,7 @@ return err } desc.Platform = &imagespec.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, } index.Manifests = append(index.Manifests, desc) @@ -132,7 +132,7 @@ } rw.Platform = &imagespec.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, } index.Manifests = append(index.Manifests, rw) diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/content/local/writer.go ./moby/vendor/github.com/containerd/containerd/content/local/writer.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/content/local/writer.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/content/local/writer.go 2023-10-15 10:22:25.923948773 +0000 @@ -23,7 +23,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "time" "github.com/containerd/containerd/content" @@ -164,7 +164,7 @@ // This removes write and exec, only allowing read per the creation umask. // // NOTE: Windows does not support this operation - if runtime.GOOS != "windows" { + if "linux" != "windows" { if err := os.Chmod(target, (fi.Mode()&os.ModePerm)&^0333); err != nil { log.G(ctx).WithField("ref", w.ref).Error("failed to make readonly") } diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/install.go ./moby/vendor/github.com/containerd/containerd/install.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/install.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/install.go 2023-10-15 10:22:25.920615429 +0000 @@ -23,7 +23,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "github.com/containerd/containerd/archive" @@ -52,7 +52,7 @@ } var binDir, libDir string - if runtime.GOOS == "windows" { + if "linux" == "windows" { binDir = "Files\\bin" libDir = "Files\\lib" } else { @@ -78,7 +78,7 @@ result = result || d == libDir } - if runtime.GOOS == "windows" { + if "linux" == "windows" { hdr.Name = strings.Replace(hdr.Name, "Files", "", 1) } if result && !config.Replace { diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/mount/lookup_unsupported.go ./moby/vendor/github.com/containerd/containerd/mount/lookup_unsupported.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/mount/lookup_unsupported.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/mount/lookup_unsupported.go 2023-10-15 10:22:25.907282053 +0000 @@ -21,10 +21,10 @@ import ( "fmt" - "runtime" + _ "runtime" ) // Lookup returns the mount info corresponds to the path. func Lookup(dir string) (Info, error) { - return Info{}, fmt.Errorf("mount.Lookup is not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) + return Info{}, fmt.Errorf("mount.Lookup is not implemented on %s/%s", "linux", runtime.GOARCH) } diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/oci/spec.go ./moby/vendor/github.com/containerd/containerd/oci/spec.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/oci/spec.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/oci/spec.go 2023-10-15 10:22:25.950615526 +0000 @@ -19,7 +19,7 @@ import ( "context" "path/filepath" - "runtime" + _ "runtime" "github.com/containerd/containerd/namespaces" "github.com/containerd/containerd/platforms" @@ -70,7 +70,7 @@ err = populateDefaultWindowsSpec(ctx, s, id) } else { err = populateDefaultUnixSpec(ctx, s, id) - if err == nil && runtime.GOOS == "windows" { + if err == nil && "linux" == "windows" { // To run LCOW we have a Linux and Windows section. Add an empty one now. s.Windows = &specs.Windows{} } diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/oci/spec_opts.go ./moby/vendor/github.com/containerd/containerd/oci/spec_opts.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/oci/spec_opts.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/oci/spec_opts.go 2023-10-15 10:22:25.950615526 +0000 @@ -24,7 +24,7 @@ "fmt" "os" "path/filepath" - "runtime" + _ "runtime" "strconv" "strings" @@ -795,7 +795,7 @@ func WithAdditionalGIDs(userstr string) SpecOpts { return func(ctx context.Context, client Client, c *containers.Container, s *Spec) (err error) { // For LCOW or on Darwin additional GID's not supported - if s.Windows != nil || runtime.GOOS == "darwin" { + if s.Windows != nil || "linux" == "darwin" { return nil } setProcess(s) @@ -870,7 +870,7 @@ func WithAppendAdditionalGroups(groups ...string) SpecOpts { return func(ctx context.Context, client Client, c *containers.Container, s *Spec) (err error) { // For LCOW or on Darwin additional GID's are not supported - if s.Windows != nil || runtime.GOOS == "darwin" { + if s.Windows != nil || "linux" == "darwin" { return nil } setProcess(s) diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/cpuinfo.go ./moby/vendor/github.com/containerd/containerd/platforms/cpuinfo.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/cpuinfo.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/platforms/cpuinfo.go 2023-10-15 10:22:25.910615397 +0000 @@ -35,7 +35,7 @@ var err error cpuVariantValue, err = getCPUVariant() if err != nil { - log.L.Errorf("Error getCPUVariant for OS %s: %v", runtime.GOOS, err) + log.L.Errorf("Error getCPUVariant for OS %s: %v", "linux", err) } } }) diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/cpuinfo_other.go ./moby/vendor/github.com/containerd/containerd/platforms/cpuinfo_other.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/cpuinfo_other.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/platforms/cpuinfo_other.go 2023-10-15 10:22:25.910615397 +0000 @@ -30,7 +30,7 @@ var variant string - if runtime.GOOS == "windows" || runtime.GOOS == "darwin" { + if "linux" == "windows" || "linux" == "darwin" { // Windows/Darwin only supports v7 for ARM32 and v8 for ARM64 and so we can use // runtime.GOARCH to determine the variants switch runtime.GOARCH { @@ -41,7 +41,7 @@ default: variant = "unknown" } - } else if runtime.GOOS == "freebsd" { + } else if "linux" == "freebsd" { // FreeBSD supports ARMv6 and ARMv7 as well as ARMv4 and ARMv5 (though deprecated) // detecting those variants is currently unimplemented switch runtime.GOARCH { @@ -52,7 +52,7 @@ } } else { - return "", fmt.Errorf("getCPUVariant for OS %s: %v", runtime.GOOS, errdefs.ErrNotImplemented) + return "", fmt.Errorf("getCPUVariant for OS %s: %v", "linux", errdefs.ErrNotImplemented) } diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/database.go ./moby/vendor/github.com/containerd/containerd/platforms/database.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/database.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/platforms/database.go 2023-10-15 10:22:25.910615397 +0000 @@ -17,7 +17,7 @@ package platforms import ( - "runtime" + _ "runtime" "strings" ) @@ -61,7 +61,7 @@ func normalizeOS(os string) string { if os == "" { - return runtime.GOOS + return "linux" } os = strings.ToLower(os) diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/defaults_unix.go ./moby/vendor/github.com/containerd/containerd/platforms/defaults_unix.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/defaults_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/platforms/defaults_unix.go 2023-10-15 10:22:25.910615397 +0000 @@ -28,7 +28,7 @@ // DefaultSpec returns the current platform's default platform specification. func DefaultSpec() specs.Platform { return specs.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, // The Variant field will be empty if arch != ARM. Variant: cpuVariant(), diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/platforms.go ./moby/vendor/github.com/containerd/containerd/platforms/platforms.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/platforms/platforms.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/platforms/platforms.go 2023-10-15 10:22:25.910615397 +0000 @@ -202,7 +202,7 @@ p.Variant = "" } if isKnownArch(p.Architecture) { - p.OS = runtime.GOOS + p.OS = "linux" return p, nil } diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/plugin/plugin_go18.go ./moby/vendor/github.com/containerd/containerd/plugin/plugin_go18.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/plugin/plugin_go18.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/plugin/plugin_go18.go 2023-10-15 10:22:25.913948741 +0000 @@ -35,7 +35,7 @@ } pattern := filepath.Join(abs, fmt.Sprintf( "*-%s-%s.%s", - runtime.GOOS, + "linux", runtime.GOARCH, getLibExt(), )) @@ -54,7 +54,7 @@ // getLibExt returns a platform specific lib extension for // the platform that containerd is running on func getLibExt() string { - switch runtime.GOOS { + switch "linux" { case "windows": return "dll" default: diff -ur ../src.orig/moby/vendor/github.com/containerd/containerd/task.go ./moby/vendor/github.com/containerd/containerd/task.go --- ../src.orig/moby/vendor/github.com/containerd/containerd/task.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/containerd/task.go 2023-10-15 10:22:25.953948870 +0000 @@ -625,7 +625,7 @@ Size: d.Size_, Digest: d.Digest, Platform: &v1.Platform{ - OS: goruntime.GOOS, + OS: "linux", Architecture: goruntime.GOARCH, }, Annotations: d.Annotations, @@ -643,7 +643,7 @@ return err } rw.Platform = &v1.Platform{ - OS: goruntime.GOOS, + OS: "linux", Architecture: goruntime.GOARCH, } index.Manifests = append(index.Manifests, rw) diff -ur ../src.orig/moby/vendor/github.com/containerd/continuity/sysx/xattr_unsupported.go ./moby/vendor/github.com/containerd/continuity/sysx/xattr_unsupported.go --- ../src.orig/moby/vendor/github.com/containerd/continuity/sysx/xattr_unsupported.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/continuity/sysx/xattr_unsupported.go 2023-10-15 10:22:25.903948709 +0000 @@ -21,10 +21,10 @@ import ( "errors" - "runtime" + _ "runtime" ) -var errUnsupported = errors.New("extended attributes unsupported on " + runtime.GOOS) +var errUnsupported = errors.New("extended attributes unsupported on " + "linux") // Listxattr calls syscall listxattr and reads all content // and returns a string array diff -ur ../src.orig/moby/vendor/github.com/containerd/go-runc/io_unix.go ./moby/vendor/github.com/containerd/go-runc/io_unix.go --- ../src.orig/moby/vendor/github.com/containerd/go-runc/io_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/containerd/go-runc/io_unix.go 2023-10-15 10:22:25.883948645 +0000 @@ -20,7 +20,7 @@ import ( "fmt" - "runtime" + _ "runtime" "github.com/sirupsen/logrus" "golang.org/x/sys/unix" @@ -52,7 +52,7 @@ if err = unix.Fchown(int(stdin.r.Fd()), uid, gid); err != nil { // TODO: revert with proper darwin solution, skipping for now // as darwin chown is returning EINVAL on anonymous pipe - if runtime.GOOS == "darwin" { + if "linux" == "darwin" { logrus.WithError(err).Debug("failed to chown stdin, ignored") } else { return nil, fmt.Errorf("failed to chown stdin: %w", err) @@ -67,7 +67,7 @@ if err = unix.Fchown(int(stdout.w.Fd()), uid, gid); err != nil { // TODO: revert with proper darwin solution, skipping for now // as darwin chown is returning EINVAL on anonymous pipe - if runtime.GOOS == "darwin" { + if "linux" == "darwin" { logrus.WithError(err).Debug("failed to chown stdout, ignored") } else { return nil, fmt.Errorf("failed to chown stdout: %w", err) @@ -82,7 +82,7 @@ if err = unix.Fchown(int(stderr.w.Fd()), uid, gid); err != nil { // TODO: revert with proper darwin solution, skipping for now // as darwin chown is returning EINVAL on anonymous pipe - if runtime.GOOS == "darwin" { + if "linux" == "darwin" { logrus.WithError(err).Debug("failed to chown stderr, ignored") } else { return nil, fmt.Errorf("failed to chown stderr: %w", err) diff -ur ../src.orig/moby/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go ./moby/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go --- ../src.orig/moby/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/docker/go-connections/tlsconfig/certpool_go17.go 2023-10-15 10:22:26.003949030 +0000 @@ -4,14 +4,14 @@ import ( "crypto/x509" - "runtime" + _ "runtime" ) // SystemCertPool returns a copy of the system cert pool, // returns an error if failed to load or empty pool on windows. func SystemCertPool() (*x509.CertPool, error) { certpool, err := x509.SystemCertPool() - if err != nil && runtime.GOOS == "windows" { + if err != nil && "linux" == "windows" { return x509.NewCertPool(), nil } return certpool, err diff -ur ../src.orig/moby/vendor/github.com/gofrs/flock/flock.go ./moby/vendor/github.com/gofrs/flock/flock.go --- ../src.orig/moby/vendor/github.com/gofrs/flock/flock.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/gofrs/flock/flock.go 2023-10-15 10:22:25.993948997 +0000 @@ -19,7 +19,7 @@ import ( "context" "os" - "runtime" + _ "runtime" "sync" "time" ) @@ -118,7 +118,7 @@ // open a new os.File instance // create it if it doesn't exist, and open the file read-only. flags := os.O_CREATE - if runtime.GOOS == "aix" { + if "linux" == "aix" { // AIX cannot preform write-lock (ie exclusive) on a // read-only file. flags |= os.O_RDWR diff -ur ../src.orig/moby/vendor/github.com/google/certificate-transparency-go/x509/cert_pool.go ./moby/vendor/github.com/google/certificate-transparency-go/x509/cert_pool.go --- ../src.orig/moby/vendor/github.com/google/certificate-transparency-go/x509/cert_pool.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/google/certificate-transparency-go/x509/cert_pool.go 2023-10-15 10:22:25.590614371 +0000 @@ -7,7 +7,7 @@ import ( "encoding/pem" "errors" - "runtime" + _ "runtime" ) // CertPool is a set of certificates. @@ -53,7 +53,7 @@ // New changes in the system cert pool might not be reflected // in subsequent calls. func SystemCertPool() (*CertPool, error) { - if runtime.GOOS == "windows" { + if "linux" == "windows" { // Issue 16736, 18609: return nil, errors.New("crypto/x509: system root pool is not available on Windows") } diff -ur ../src.orig/moby/vendor/github.com/google/certificate-transparency-go/x509/verify.go ./moby/vendor/github.com/google/certificate-transparency-go/x509/verify.go --- ../src.orig/moby/vendor/github.com/google/certificate-transparency-go/x509/verify.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/google/certificate-transparency-go/x509/verify.go 2023-10-15 10:22:25.597281059 +0000 @@ -12,7 +12,7 @@ "net/url" "os" "reflect" - "runtime" + _ "runtime" "strings" "time" "unicode/utf8" @@ -755,7 +755,7 @@ } // Use Windows's own verification and chain building. - if opts.Roots == nil && runtime.GOOS == "windows" { + if opts.Roots == nil && "linux" == "windows" { return c.systemVerify(&opts) } diff -ur ../src.orig/moby/vendor/github.com/googleapis/enterprise-certificate-proxy/client/util/util.go ./moby/vendor/github.com/googleapis/enterprise-certificate-proxy/client/util/util.go --- ../src.orig/moby/vendor/github.com/googleapis/enterprise-certificate-proxy/client/util/util.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/googleapis/enterprise-certificate-proxy/client/util/util.go 2023-10-15 10:22:25.777281637 +0000 @@ -8,7 +8,7 @@ "os" "os/user" "path/filepath" - "runtime" + _ "runtime" ) const configFileName = "enterprise_certificate_config.json" @@ -59,7 +59,7 @@ } func getDefaultConfigFileDirectory() (directory string) { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return filepath.Join(os.Getenv("APPDATA"), "gcloud") } else { return filepath.Join(guessHomeDir(), ".config/gcloud") diff -ur ../src.orig/moby/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go ./moby/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go --- ../src.orig/moby/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/ishidawataru/sctp/sctp_unsupported.go 2023-10-15 10:22:25.977282277 +0000 @@ -23,7 +23,7 @@ "syscall" ) -var ErrUnsupported = errors.New("SCTP is unsupported on " + runtime.GOOS + "/" + runtime.GOARCH) +var ErrUnsupported = errors.New("SCTP is unsupported on " + "linux" + "/" + runtime.GOARCH) func setsockopt(fd int, optname, optval, optlen uintptr) (uintptr, uintptr, error) { return 0, 0, ErrUnsupported diff -ur ../src.orig/moby/vendor/github.com/mistifyio/go-zfs/v3/utils.go ./moby/vendor/github.com/mistifyio/go-zfs/v3/utils.go --- ../src.orig/moby/vendor/github.com/mistifyio/go-zfs/v3/utils.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/mistifyio/go-zfs/v3/utils.go 2023-10-15 10:22:25.973948935 +0000 @@ -7,7 +7,7 @@ "io" "os/exec" "regexp" - "runtime" + _ "runtime" "strconv" "strings" @@ -121,7 +121,7 @@ return err } - if runtime.GOOS == "solaris" { + if "linux" == "solaris" { return nil } diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/frontend/gateway/container.go ./moby/vendor/github.com/moby/buildkit/frontend/gateway/container.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/frontend/gateway/container.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/frontend/gateway/container.go 2023-10-15 10:22:25.837281829 +0000 @@ -47,7 +47,7 @@ ctx, cancel := context.WithCancel(ctx) eg, ctx := errgroup.WithContext(ctx) platform := opspb.Platform{ - OS: runtime.GOOS, + OS: "linux", Architecture: runtime.GOARCH, } if req.Platform != nil { diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/solver/llbsolver/ops/file.go ./moby/vendor/github.com/moby/buildkit/solver/llbsolver/ops/file.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/solver/llbsolver/ops/file.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/solver/llbsolver/ops/file.go 2023-10-15 10:22:25.843948517 +0000 @@ -6,7 +6,7 @@ "encoding/json" "fmt" "path" - "runtime" + _ "runtime" "sort" "sync" @@ -207,7 +207,7 @@ } func containsWildcards(name string) bool { - isWindows := runtime.GOOS == "windows" + isWindows := "linux" == "windows" for i := 0; i < len(name); i++ { ch := name[i] if ch == '\\' && !isWindows { diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/source/containerimage/pull.go ./moby/vendor/github.com/moby/buildkit/source/containerimage/pull.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/source/containerimage/pull.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/source/containerimage/pull.go 2023-10-15 10:22:25.880615301 +0000 @@ -3,7 +3,7 @@ import ( "context" "encoding/json" - "runtime" + _ "runtime" "time" "github.com/containerd/containerd/content" @@ -384,7 +384,7 @@ }() var parent cache.ImmutableRef - setWindowsLayerType := p.Platform.OS == "windows" && runtime.GOOS != "windows" + setWindowsLayerType := p.Platform.OS == "windows" && "linux" != "windows" for _, layerDesc := range p.manifest.Descriptors { parent = current current, err = p.CacheAccessor.GetByBlob(ctx, layerDesc, parent, diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/util/network/cniprovider/cni.go ./moby/vendor/github.com/moby/buildkit/util/network/cniprovider/cni.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/util/network/cniprovider/cni.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/util/network/cniprovider/cni.go 2023-10-15 10:22:25.857281893 +0000 @@ -3,7 +3,7 @@ import ( "context" "os" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -38,7 +38,7 @@ cniOptions := []cni.Opt{cni.WithPluginDir([]string{opt.BinaryDir}), cni.WithInterfacePrefix("eth")} // Windows doesn't use CNI for loopback. - if runtime.GOOS != "windows" { + if "linux" != "windows" { cniOptions = append([]cni.Opt{cni.WithMinNetworkCount(2)}, cniOptions...) cniOptions = append(cniOptions, cni.WithLoNetwork) } @@ -213,7 +213,7 @@ // We can't use the pool for namespaces that need a custom hostname. // We also avoid using it on windows because we don't have a cleanup // mechanism for Windows yet. - if hostname == "" || runtime.GOOS == "windows" { + if hostname == "" || "linux" == "windows" { return c.nsPool.get(ctx) } return c.newNS(ctx, hostname) diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/util/resolver/resolver.go ./moby/vendor/github.com/moby/buildkit/util/resolver/resolver.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/util/resolver/resolver.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/util/resolver/resolver.go 2023-10-15 10:22:25.850615205 +0000 @@ -7,7 +7,7 @@ "net/http" "os" "path/filepath" - "runtime" + _ "runtime" "strings" "time" @@ -87,7 +87,7 @@ if len(c.RootCAs) > 0 { systemPool, err := x509.SystemCertPool() if err != nil { - if runtime.GOOS == "windows" { + if "linux" == "windows" { systemPool = x509.NewCertPool() } else { return nil, errors.Wrapf(err, "unable to get system cert pool") diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/util/rootless/specconv/specconv_nonlinux.go ./moby/vendor/github.com/moby/buildkit/util/rootless/specconv/specconv_nonlinux.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/util/rootless/specconv/specconv_nonlinux.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/util/rootless/specconv/specconv_nonlinux.go 2023-10-15 10:22:25.863948581 +0000 @@ -4,7 +4,7 @@ package specconv import ( - "runtime" + _ "runtime" "github.com/opencontainers/runtime-spec/specs-go" "github.com/pkg/errors" @@ -16,5 +16,5 @@ // // See docs/rootless.md for the supported runc revision. func ToRootless(spec *specs.Spec) error { - return errors.Errorf("not implemented on on %s", runtime.GOOS) + return errors.Errorf("not implemented on on %s", "linux") } diff -ur ../src.orig/moby/vendor/github.com/moby/buildkit/util/winlayers/applier.go ./moby/vendor/github.com/moby/buildkit/util/winlayers/applier.go --- ../src.orig/moby/vendor/github.com/moby/buildkit/util/winlayers/applier.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/buildkit/util/winlayers/applier.go 2023-10-15 10:22:25.853948549 +0000 @@ -4,7 +4,7 @@ "archive/tar" "context" "io" - "runtime" + _ "runtime" "strings" "sync" @@ -21,7 +21,7 @@ ) func NewFileSystemApplierWithWindows(cs content.Provider, a diff.Applier) diff.Applier { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return a } diff -ur ../src.orig/moby/vendor/github.com/moby/swarmkit/v2/manager/manager.go ./moby/vendor/github.com/moby/swarmkit/v2/manager/manager.go --- ../src.orig/moby/vendor/github.com/moby/swarmkit/v2/manager/manager.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/swarmkit/v2/manager/manager.go 2023-10-15 10:22:25.813948420 +0000 @@ -8,7 +8,7 @@ "net" "os" "path/filepath" - "runtime" + _ "runtime" "sync" "syscall" "time" @@ -331,7 +331,7 @@ } // don't create a socket directory if we're on windows. we used named pipe - if runtime.GOOS != "windows" { + if "linux" != "windows" { err := os.MkdirAll(filepath.Dir(addr), 0o700) if err != nil { return errors.Wrap(err, "failed to create socket directory") @@ -342,7 +342,7 @@ // A unix socket may fail to bind if the file already // exists. Try replacing the file. - if runtime.GOOS != "windows" { + if "linux" != "windows" { unwrappedErr := err if op, ok := unwrappedErr.(*net.OpError); ok { unwrappedErr = op.Err diff -ur ../src.orig/moby/vendor/github.com/moby/sys/mountinfo/mountinfo_unsupported.go ./moby/vendor/github.com/moby/sys/mountinfo/mountinfo_unsupported.go --- ../src.orig/moby/vendor/github.com/moby/sys/mountinfo/mountinfo_unsupported.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/moby/sys/mountinfo/mountinfo_unsupported.go 2023-10-15 10:22:25.823948452 +0000 @@ -5,10 +5,10 @@ import ( "fmt" - "runtime" + _ "runtime" ) -var errNotImplemented = fmt.Errorf("not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +var errNotImplemented = fmt.Errorf("not implemented on %s/%s", "linux", runtime.GOARCH) func parseMountTable(_ FilterFunc) ([]*Info, error) { return nil, errNotImplemented diff -ur ../src.orig/moby/vendor/github.com/sirupsen/logrus/text_formatter.go ./moby/vendor/github.com/sirupsen/logrus/text_formatter.go --- ../src.orig/moby/vendor/github.com/sirupsen/logrus/text_formatter.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/sirupsen/logrus/text_formatter.go 2023-10-15 10:22:25.727281476 +0000 @@ -115,7 +115,7 @@ } func (f *TextFormatter) isColored() bool { - isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows")) + isColored := f.ForceColors || (f.isTerminal && ("linux" != "windows")) if f.EnvironmentOverrideColors { switch force, ok := os.LookupEnv("CLICOLOR_FORCE"); { diff -ur ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/copy/copy.go ./moby/vendor/github.com/tonistiigi/fsutil/copy/copy.go --- ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/copy/copy.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/tonistiigi/fsutil/copy/copy.go 2023-10-15 10:22:25.670614628 +0000 @@ -5,7 +5,7 @@ "os" "path" "path/filepath" - "runtime" + _ "runtime" "strings" "sync" "time" @@ -574,7 +574,7 @@ } func containsWildcards(name string) bool { - isWindows := runtime.GOOS == "windows" + isWindows := "linux" == "windows" for i := 0; i < len(name); i++ { ch := name[i] if ch == '\\' && !isWindows { @@ -638,7 +638,7 @@ // handle UUID paths in windows. func rel(basepath, targpath string) (string, error) { // filepath.Rel can't handle UUID paths in windows - if runtime.GOOS == "windows" { + if "linux" == "windows" { pfx := basepath + `\` if strings.HasPrefix(targpath, pfx) { p := strings.TrimPrefix(targpath, pfx) diff -ur ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/followlinks.go ./moby/vendor/github.com/tonistiigi/fsutil/followlinks.go --- ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/followlinks.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/tonistiigi/fsutil/followlinks.go 2023-10-15 10:22:25.670614628 +0000 @@ -3,7 +3,7 @@ import ( "os" "path/filepath" - "runtime" + _ "runtime" "sort" strings "strings" @@ -118,7 +118,7 @@ } func containsWildcards(name string) bool { - isWindows := runtime.GOOS == "windows" + isWindows := "linux" == "windows" for i := 0; i < len(name); i++ { ch := name[i] if ch == '\\' && !isWindows { diff -ur ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/stat.go ./moby/vendor/github.com/tonistiigi/fsutil/stat.go --- ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/stat.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/tonistiigi/fsutil/stat.go 2023-10-15 10:22:25.667281284 +0000 @@ -3,7 +3,7 @@ import ( "os" "path/filepath" - "runtime" + _ "runtime" "github.com/pkg/errors" "github.com/tonistiigi/fsutil/types" @@ -40,7 +40,7 @@ return nil, err } - if runtime.GOOS == "windows" { + if "linux" == "windows" { permPart := stat.Mode & uint32(os.ModePerm) noPermPart := stat.Mode &^ uint32(os.ModePerm) // Add the x bit: make everything +x from windows diff -ur ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/validator.go ./moby/vendor/github.com/tonistiigi/fsutil/validator.go --- ../src.orig/moby/vendor/github.com/tonistiigi/fsutil/validator.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/tonistiigi/fsutil/validator.go 2023-10-15 10:22:25.670614628 +0000 @@ -3,7 +3,7 @@ import ( "os" "path" - "runtime" + _ "runtime" "sort" "strings" "syscall" @@ -28,7 +28,7 @@ if v.parentDirs == nil { v.parentDirs = make([]parent, 1, 10) } - if runtime.GOOS == "windows" { + if "linux" == "windows" { p = strings.Replace(p, "\\", "", -1) } if p != path.Clean(p) { diff -ur ../src.orig/moby/vendor/github.com/vbatts/tar-split/archive/tar/stat_unix.go ./moby/vendor/github.com/vbatts/tar-split/archive/tar/stat_unix.go --- ../src.orig/moby/vendor/github.com/vbatts/tar-split/archive/tar/stat_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/vbatts/tar-split/archive/tar/stat_unix.go 2023-10-15 10:22:25.690614692 +0000 @@ -9,7 +9,7 @@ import ( "os" "os/user" - "runtime" + _ "runtime" "strconv" "sync" "syscall" @@ -53,7 +53,7 @@ // Best effort at populating Devmajor and Devminor. if h.Typeflag == TypeChar || h.Typeflag == TypeBlock { dev := uint64(sys.Rdev) // May be int32 or uint32 - switch runtime.GOOS { + switch "linux" { case "linux": // Copied from golang.org/x/sys/unix/dev_linux.go. major := uint32((dev & 0x00000000000fff00) >> 8) diff -ur ../src.orig/moby/vendor/github.com/vishvananda/netns/README.md ./moby/vendor/github.com/vishvananda/netns/README.md --- ../src.orig/moby/vendor/github.com/vishvananda/netns/README.md 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/github.com/vishvananda/netns/README.md 2023-10-15 10:22:25.527280835 +0000 @@ -22,7 +22,7 @@ import ( "fmt" "net" - "runtime" + _ "runtime" "github.com/vishvananda/netns" ) diff -ur ../src.orig/moby/vendor/go.etcd.io/bbolt/db.go ./moby/vendor/go.etcd.io/bbolt/db.go --- ../src.orig/moby/vendor/go.etcd.io/bbolt/db.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/go.etcd.io/bbolt/db.go 2023-10-15 10:22:25.317280162 +0000 @@ -6,7 +6,7 @@ "hash/fnv" "io" "os" - "runtime" + _ "runtime" "sort" "sync" "time" @@ -28,7 +28,7 @@ // syncing changes to a file. This is required as some operating systems, // such as OpenBSD, do not have a unified buffer cache (UBC) and writes // must be synchronized using the msync(2) syscall. -const IgnoreNoSync = runtime.GOOS == "openbsd" +const IgnoreNoSync = "linux" == "openbsd" // Default values if not set in a DB instance. const ( @@ -1134,7 +1134,7 @@ // Truncate and fsync to ensure file size metadata is flushed. // https://github.com/boltdb/bolt/issues/284 if !db.NoGrowSync && !db.readOnly { - if runtime.GOOS != "windows" { + if "linux" != "windows" { if err := db.file.Truncate(int64(sz)); err != nil { return fmt.Errorf("file resize error: %s", err) } diff -ur ../src.orig/moby/vendor/golang.org/x/net/http2/server.go ./moby/vendor/golang.org/x/net/http2/server.go --- ../src.orig/moby/vendor/golang.org/x/net/http2/server.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/http2/server.go 2023-10-15 10:22:25.483947363 +0000 @@ -741,7 +741,7 @@ // build tags, so I can't make an http2_windows.go file with // Windows-specific stuff. Fix that and move this, once we // have a way to bundle this into std's net/http somehow. - if runtime.GOOS == "windows" { + if "linux" == "windows" { if oe, ok := err.(*net.OpError); ok && oe.Op == "read" { if se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == "wsarecv" { const WSAECONNABORTED = 10053 diff -ur ../src.orig/moby/vendor/golang.org/x/net/internal/socket/socket.go ./moby/vendor/golang.org/x/net/internal/socket/socket.go --- ../src.orig/moby/vendor/golang.org/x/net/internal/socket/socket.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/internal/socket/socket.go 2023-10-15 10:22:25.493947395 +0000 @@ -13,7 +13,7 @@ "unsafe" ) -var errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) +var errNotImplemented = errors.New("not implemented on " + "linux" + "/" + runtime.GOARCH) // An Option represents a sticky socket option. type Option struct { diff -ur ../src.orig/moby/vendor/golang.org/x/net/internal/socket/sys_posix.go ./moby/vendor/golang.org/x/net/internal/socket/sys_posix.go --- ../src.orig/moby/vendor/golang.org/x/net/internal/socket/sys_posix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/internal/socket/sys_posix.go 2023-10-15 10:22:25.493947395 +0000 @@ -11,7 +11,7 @@ "encoding/binary" "errors" "net" - "runtime" + _ "runtime" "strconv" "sync" "time" @@ -35,7 +35,7 @@ func marshalSockaddr(ip net.IP, port int, zone string, b []byte) int { if ip4 := ip.To4(); ip4 != nil { - switch runtime.GOOS { + switch "linux" { case "android", "illumos", "linux", "solaris", "windows": NativeEndian.PutUint16(b[:2], uint16(sysAF_INET)) default: @@ -47,7 +47,7 @@ return sizeofSockaddrInet4 } if ip6 := ip.To16(); ip6 != nil && ip.To4() == nil { - switch runtime.GOOS { + switch "linux" { case "android", "illumos", "linux", "solaris", "windows": NativeEndian.PutUint16(b[:2], uint16(sysAF_INET6)) default: @@ -69,7 +69,7 @@ return nil, errors.New("invalid address") } var af int - switch runtime.GOOS { + switch "linux" { case "android", "illumos", "linux", "solaris", "windows": af = int(NativeEndian.Uint16(b[:2])) default: diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv4/batch.go ./moby/vendor/golang.org/x/net/ipv4/batch.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv4/batch.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv4/batch.go 2023-10-15 10:22:25.467280642 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "golang.org/x/net/internal/socket" ) @@ -75,7 +75,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.RecvMsgs([]socket.Message(ms), flags) if err != nil { @@ -109,7 +109,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.SendMsgs([]socket.Message(ms), flags) if err != nil { @@ -141,7 +141,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.RecvMsgs([]socket.Message(ms), flags) if err != nil { @@ -175,7 +175,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.SendMsgs([]socket.Message(ms), flags) if err != nil { diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv4/header.go ./moby/vendor/golang.org/x/net/ipv4/header.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv4/header.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv4/header.go 2023-10-15 10:22:25.467280642 +0000 @@ -8,7 +8,7 @@ "encoding/binary" "fmt" "net" - "runtime" + _ "runtime" "golang.org/x/net/internal/socket" ) @@ -66,7 +66,7 @@ b[0] = byte(Version<<4 | (hdrlen >> 2 & 0x0f)) b[1] = byte(h.TOS) flagsAndFragOff := (h.FragOff & 0x1fff) | int(h.Flags<<13) - switch runtime.GOOS { + switch "linux" { case "darwin", "ios", "dragonfly", "netbsd": socket.NativeEndian.PutUint16(b[2:4], uint16(h.TotalLen)) socket.NativeEndian.PutUint16(b[6:8], uint16(flagsAndFragOff)) @@ -125,7 +125,7 @@ h.Checksum = int(binary.BigEndian.Uint16(b[10:12])) h.Src = net.IPv4(b[12], b[13], b[14], b[15]) h.Dst = net.IPv4(b[16], b[17], b[18], b[19]) - switch runtime.GOOS { + switch "linux" { case "darwin", "ios", "dragonfly", "netbsd": h.TotalLen = int(socket.NativeEndian.Uint16(b[2:4])) + hdrlen h.FragOff = int(socket.NativeEndian.Uint16(b[6:8])) diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv4/helper.go ./moby/vendor/golang.org/x/net/ipv4/helper.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv4/helper.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv4/helper.go 2023-10-15 10:22:25.467280642 +0000 @@ -19,7 +19,7 @@ errHeaderTooShort = errors.New("header too short") errExtHeaderTooShort = errors.New("extension header too short") errInvalidConnType = errors.New("invalid conn type") - errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) + errNotImplemented = errors.New("not implemented on " + "linux" + "/" + runtime.GOARCH) // See https://www.freebsd.org/doc/en/books/porters-handbook/versions.html. freebsdVersion uint32 diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv4/sys_freebsd.go ./moby/vendor/golang.org/x/net/ipv4/sys_freebsd.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv4/sys_freebsd.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv4/sys_freebsd.go 2023-10-15 10:22:25.463947298 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "strings" "syscall" "unsafe" @@ -50,7 +50,7 @@ if freebsdVersion >= 1000000 { sockOpts[ssoMulticastInterface] = &sockOpt{Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: unix.SizeofIPMreqn}, typ: ssoTypeIPMreqn} } - if runtime.GOOS == "freebsd" && runtime.GOARCH == "386" { + if "linux" == "freebsd" && runtime.GOARCH == "386" { archs, _ := syscall.Sysctl("kern.supported_archs") for _, s := range strings.Fields(archs) { if s == "amd64" { diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv6/batch.go ./moby/vendor/golang.org/x/net/ipv6/batch.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv6/batch.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv6/batch.go 2023-10-15 10:22:25.480614019 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "golang.org/x/net/internal/socket" ) @@ -66,7 +66,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.RecvMsgs([]socket.Message(ms), flags) if err != nil { @@ -97,7 +97,7 @@ if !c.ok() { return 0, errInvalidConn } - switch runtime.GOOS { + switch "linux" { case "linux": n, err := c.SendMsgs([]socket.Message(ms), flags) if err != nil { diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv6/helper.go ./moby/vendor/golang.org/x/net/ipv6/helper.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv6/helper.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv6/helper.go 2023-10-15 10:22:25.480614019 +0000 @@ -15,7 +15,7 @@ errMissingAddress = errors.New("missing address") errHeaderTooShort = errors.New("header too short") errInvalidConnType = errors.New("invalid conn type") - errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) + errNotImplemented = errors.New("not implemented on " + "linux" + "/" + runtime.GOARCH) ) func boolint(b bool) int { diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv6/sockopt_posix.go ./moby/vendor/golang.org/x/net/ipv6/sockopt_posix.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv6/sockopt_posix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv6/sockopt_posix.go 2023-10-15 10:22:25.477280675 +0000 @@ -9,7 +9,7 @@ import ( "net" - "runtime" + _ "runtime" "unsafe" "golang.org/x/net/bpf" @@ -59,7 +59,7 @@ return nil, 0, errNotImplemented } mi := (*ipv6Mtuinfo)(unsafe.Pointer(&b[0])) - if mi.Addr.Scope_id == 0 || runtime.GOOS == "aix" { + if mi.Addr.Scope_id == 0 || "linux" == "aix" { // AIX kernel might return a wrong address. return nil, int(mi.Mtu), nil } diff -ur ../src.orig/moby/vendor/golang.org/x/net/ipv6/sys_freebsd.go ./moby/vendor/golang.org/x/net/ipv6/sys_freebsd.go --- ../src.orig/moby/vendor/golang.org/x/net/ipv6/sys_freebsd.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/net/ipv6/sys_freebsd.go 2023-10-15 10:22:25.477280675 +0000 @@ -6,7 +6,7 @@ import ( "net" - "runtime" + _ "runtime" "strings" "syscall" "unsafe" @@ -49,7 +49,7 @@ ) func init() { - if runtime.GOOS == "freebsd" && runtime.GOARCH == "386" { + if "linux" == "freebsd" && runtime.GOARCH == "386" { archs, _ := syscall.Sysctl("kern.supported_archs") for _, s := range strings.Fields(archs) { if s == "amd64" { diff -ur ../src.orig/moby/vendor/golang.org/x/oauth2/google/default.go ./moby/vendor/golang.org/x/oauth2/google/default.go --- ../src.orig/moby/vendor/golang.org/x/oauth2/google/default.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/oauth2/google/default.go 2023-10-15 10:22:25.457280610 +0000 @@ -12,7 +12,7 @@ "net/http" "os" "path/filepath" - "runtime" + _ "runtime" "cloud.google.com/go/compute/metadata" "golang.org/x/oauth2" @@ -210,7 +210,7 @@ func wellKnownFile() string { const f = "application_default_credentials.json" - if runtime.GOOS == "windows" { + if "linux" == "windows" { return filepath.Join(os.Getenv("APPDATA"), "gcloud", f) } return filepath.Join(guessUnixHomeDir(), ".config", "gcloud", f) diff -ur ../src.orig/moby/vendor/golang.org/x/oauth2/google/sdk.go ./moby/vendor/golang.org/x/oauth2/google/sdk.go --- ../src.orig/moby/vendor/golang.org/x/oauth2/google/sdk.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/oauth2/google/sdk.go 2023-10-15 10:22:25.457280610 +0000 @@ -15,7 +15,7 @@ "os" "os/user" "path/filepath" - "runtime" + _ "runtime" "strings" "time" @@ -178,7 +178,7 @@ // sdkConfigPath tries to guess where the gcloud config is located. // It can be overridden during tests. var sdkConfigPath = func() (string, error) { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return filepath.Join(os.Getenv("APPDATA"), "gcloud"), nil } homeDir := guessUnixHomeDir() diff -ur ../src.orig/moby/vendor/golang.org/x/sys/cpu/byteorder.go ./moby/vendor/golang.org/x/sys/cpu/byteorder.go --- ../src.orig/moby/vendor/golang.org/x/sys/cpu/byteorder.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/cpu/byteorder.go 2023-10-15 10:22:25.453947266 +0000 @@ -5,7 +5,7 @@ package cpu import ( - "runtime" + _ "runtime" ) // byteOrder is a subset of encoding/binary.ByteOrder. diff -ur ../src.orig/moby/vendor/golang.org/x/sys/cpu/cpu_arm64.go ./moby/vendor/golang.org/x/sys/cpu/cpu_arm64.go --- ../src.orig/moby/vendor/golang.org/x/sys/cpu/cpu_arm64.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/cpu/cpu_arm64.go 2023-10-15 10:22:25.453947266 +0000 @@ -4,7 +4,7 @@ package cpu -import "runtime" +import _ "runtime" // cacheLineSize is used to prevent false sharing of cache lines. // We choose 128 because Apple Silicon, a.k.a. M1, has 128-byte cache line size. @@ -41,7 +41,7 @@ } func archInit() { - switch runtime.GOOS { + switch "linux" { case "freebsd": readARM64Registers() case "linux", "netbsd", "openbsd": diff -ur ../src.orig/moby/vendor/golang.org/x/sys/cpu/cpu_x86.go ./moby/vendor/golang.org/x/sys/cpu/cpu_x86.go --- ../src.orig/moby/vendor/golang.org/x/sys/cpu/cpu_x86.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/cpu/cpu_x86.go 2023-10-15 10:22:25.457280610 +0000 @@ -7,7 +7,7 @@ package cpu -import "runtime" +import _ "runtime" const cacheLineSize = 64 @@ -89,7 +89,7 @@ // Check if XMM and YMM registers have OS support. osSupportsAVX = isSet(1, eax) && isSet(2, eax) - if runtime.GOOS == "darwin" { + if "linux" == "darwin" { // Darwin doesn't save/restore AVX-512 mask registers correctly across signal handlers. // Since users can't rely on mask register contents, let's not advertise AVX-512 support. // See issue 49233. diff -ur ../src.orig/moby/vendor/golang.org/x/sys/unix/ioctl_zos.go ./moby/vendor/golang.org/x/sys/unix/ioctl_zos.go --- ../src.orig/moby/vendor/golang.org/x/sys/unix/ioctl_zos.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/unix/ioctl_zos.go 2023-10-15 10:22:25.420613826 +0000 @@ -8,7 +8,7 @@ package unix import ( - "runtime" + _ "runtime" "unsafe" ) diff -ur ../src.orig/moby/vendor/golang.org/x/sys/unix/race.go ./moby/vendor/golang.org/x/sys/unix/race.go --- ../src.orig/moby/vendor/golang.org/x/sys/unix/race.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/unix/race.go 2023-10-15 10:22:25.440613891 +0000 @@ -8,7 +8,7 @@ package unix import ( - "runtime" + _ "runtime" "unsafe" ) diff -ur ../src.orig/moby/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go ./moby/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go --- ../src.orig/moby/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go 2023-10-15 10:22:25.407280450 +0000 @@ -17,7 +17,7 @@ // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in // sockcmsg_dragonfly.go - switch runtime.GOOS { + switch "linux" { case "aix": // There is no alignment on AIX. salign = 1 @@ -34,7 +34,7 @@ salign = 8 } // NetBSD aarch64 requires 128-bit alignment. - if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" { + if "linux" == "netbsd" && runtime.GOARCH == "arm64" { salign = 16 } case "zos": diff -ur ../src.orig/moby/vendor/golang.org/x/sys/unix/syscall_bsd.go ./moby/vendor/golang.org/x/sys/unix/syscall_bsd.go --- ../src.orig/moby/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-10-15 10:22:25.393947074 +0000 @@ -14,7 +14,7 @@ package unix import ( - "runtime" + _ "runtime" "syscall" "unsafe" ) @@ -275,7 +275,7 @@ if err != nil { return } - if (runtime.GOOS == "darwin" || runtime.GOOS == "ios") && len == 0 { + if ("linux" == "darwin" || "linux" == "ios") && len == 0 { // Accepted socket has no address. // This is likely due to a bug in xnu kernels, // where instead of ECONNABORTED error socket @@ -299,7 +299,7 @@ } // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be // reported upstream. - if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + if "linux" == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { rsa.Addr.Family = AF_UNIX rsa.Addr.Len = SizeofSockaddrUnix } diff -ur ../src.orig/moby/vendor/google.golang.org/grpc/internal/googlecloud/googlecloud.go ./moby/vendor/google.golang.org/grpc/internal/googlecloud/googlecloud.go --- ../src.orig/moby/vendor/google.golang.org/grpc/internal/googlecloud/googlecloud.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/google.golang.org/grpc/internal/googlecloud/googlecloud.go 2023-10-15 10:22:25.300613441 +0000 @@ -20,7 +20,7 @@ package googlecloud import ( - "runtime" + _ "runtime" "strings" "sync" @@ -48,7 +48,7 @@ logger.Infof("failed to read manufacturer, setting onGCE=false: %v") return } - vmOnGCE = isRunningOnGCE(mf, runtime.GOOS) + vmOnGCE = isRunningOnGCE(mf, "linux") }) return vmOnGCE } diff -ur ../src.orig/moby/vendor/go.opentelemetry.io/otel/sdk/resource/process.go ./moby/vendor/go.opentelemetry.io/otel/sdk/resource/process.go --- ../src.orig/moby/vendor/go.opentelemetry.io/otel/sdk/resource/process.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/go.opentelemetry.io/otel/sdk/resource/process.go 2023-10-15 10:22:25.353946946 +0000 @@ -41,7 +41,7 @@ defaultOwnerProvider ownerProvider = user.Current defaultRuntimeNameProvider runtimeNameProvider = func() string { return runtime.Compiler } defaultRuntimeVersionProvider runtimeVersionProvider = runtime.Version - defaultRuntimeOSProvider runtimeOSProvider = func() string { return runtime.GOOS } + defaultRuntimeOSProvider runtimeOSProvider = func() string { return "linux" } defaultRuntimeArchProvider runtimeArchProvider = func() string { return runtime.GOARCH } ) diff -ur ../src.orig/moby/vendor/gotest.tools/v3/fs/file.go ./moby/vendor/gotest.tools/v3/fs/file.go --- ../src.orig/moby/vendor/gotest.tools/v3/fs/file.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/gotest.tools/v3/fs/file.go 2023-10-15 10:22:25.500614083 +0000 @@ -7,7 +7,7 @@ import ( "os" "path/filepath" - "runtime" + _ "runtime" "strings" "gotest.tools/v3/assert" @@ -58,7 +58,7 @@ func cleanPrefix(prefix string) string { // windows requires both / and \ are replaced - if runtime.GOOS == "windows" { + if "linux" == "windows" { prefix = strings.Replace(prefix, string(os.PathSeparator), "-", -1) } return strings.Replace(prefix, "/", "-", -1) diff -ur ../src.orig/moby/vendor/gotest.tools/v3/fs/manifest_unix.go ./moby/vendor/gotest.tools/v3/fs/manifest_unix.go --- ../src.orig/moby/vendor/gotest.tools/v3/fs/manifest_unix.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/gotest.tools/v3/fs/manifest_unix.go 2023-10-15 10:22:25.500614083 +0000 @@ -5,7 +5,7 @@ import ( "os" - "runtime" + _ "runtime" "syscall" ) @@ -14,7 +14,7 @@ var defaultSymlinkMode = os.ModeSymlink | 0777 func init() { - switch runtime.GOOS { + switch "linux" { case "darwin": defaultSymlinkMode = os.ModeSymlink | 0755 } diff -ur ../src.orig/moby/vendor/gotest.tools/v3/fs/report.go ./moby/vendor/gotest.tools/v3/fs/report.go --- ../src.orig/moby/vendor/gotest.tools/v3/fs/report.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/gotest.tools/v3/fs/report.go 2023-10-15 10:22:25.500614083 +0000 @@ -6,7 +6,7 @@ "io" "os" "path/filepath" - "runtime" + _ "runtime" "sort" "strings" @@ -146,7 +146,7 @@ p := eqResource(x.resource, y.resource) xTarget := x.target yTarget := y.target - if runtime.GOOS == "windows" { + if "linux" == "windows" { xTarget = strings.ToLower(xTarget) yTarget = strings.ToLower(yTarget) } diff -ur ../src.orig/moby/vendor/k8s.io/klog/v2/klog.go ./moby/vendor/k8s.io/klog/v2/klog.go --- ../src.orig/moby/vendor/k8s.io/klog/v2/klog.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/vendor/k8s.io/klog/v2/klog.go 2023-10-15 10:22:25.497280739 +0000 @@ -1054,7 +1054,7 @@ var buf bytes.Buffer fmt.Fprintf(&buf, "Log file created at: %s\n", now.Format("2006/01/02 15:04:05")) fmt.Fprintf(&buf, "Running on machine: %s\n", host) - fmt.Fprintf(&buf, "Binary: Built with %s %s for %s/%s\n", runtime.Compiler, runtime.Version(), runtime.GOOS, runtime.GOARCH) + fmt.Fprintf(&buf, "Binary: Built with %s %s for %s/%s\n", runtime.Compiler, runtime.Version(), "linux", runtime.GOARCH) fmt.Fprintf(&buf, "Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg\n") n, err := sb.file.Write(buf.Bytes()) sb.nbytes += uint64(n) diff -ur ../src.orig/moby/volume/mounts/parser.go ./moby/volume/mounts/parser.go --- ../src.orig/moby/volume/mounts/parser.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/volume/mounts/parser.go 2023-10-15 10:22:25.197279777 +0000 @@ -2,7 +2,7 @@ import ( "errors" - "runtime" + _ "runtime" "github.com/docker/docker/api/types/mount" ) @@ -35,7 +35,7 @@ // NewParser creates a parser for the current host OS func NewParser() Parser { - if runtime.GOOS == "windows" { + if "linux" == "windows" { return NewWindowsParser() } return NewLinuxParser() diff -ur ../src.orig/moby/volume/mounts/windows_parser.go ./moby/volume/mounts/windows_parser.go --- ../src.orig/moby/volume/mounts/windows_parser.go 2023-08-29 19:14:17.000000000 +0000 +++ ./moby/volume/mounts/windows_parser.go 2023-10-15 10:22:25.197279777 +0000 @@ -5,7 +5,7 @@ "fmt" "os" "regexp" - "runtime" + _ "runtime" "strings" "github.com/docker/docker/api/types/mount" @@ -436,7 +436,7 @@ } func (p *windowsParser) ConvertTmpfsOptions(opt *mount.TmpfsOptions, readOnly bool) (string, error) { - return "", fmt.Errorf("%s does not support tmpfs", runtime.GOOS) + return "", fmt.Errorf("%s does not support tmpfs", "linux") } func (p *windowsParser) DefaultCopyMode() bool {