From 3c758231cb30e4b1e481d00de0a1a7eb06c6b518 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 25 Mar 2021 23:12:04 +0000 Subject: [PATCH] podman: update to version 3.0.1 Signed-off-by: Daniel Golle --- utils/podman/Makefile | 14 +- .../010-Fix-build-for-mips-architecture.patch | 134 -------------- .../020-vendor-containers-psgo-v1.5.2.patch | 169 ------------------ ...build-for-mips-architecture-followup.patch | 24 --- utils/podman/patches/040-mips.patch | 70 -------- 5 files changed, 7 insertions(+), 404 deletions(-) delete mode 100644 utils/podman/patches/010-Fix-build-for-mips-architecture.patch delete mode 100644 utils/podman/patches/020-vendor-containers-psgo-v1.5.2.patch delete mode 100644 utils/podman/patches/030-Fix-build-for-mips-architecture-followup.patch delete mode 100644 utils/podman/patches/040-mips.patch diff --git a/utils/podman/Makefile b/utils/podman/Makefile index 7a4ba83c25..c567d62b36 100644 --- a/utils/podman/Makefile +++ b/utils/podman/Makefile @@ -1,15 +1,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=podman -PKG_VERSION:=2.2.1 -PKG_RELEASE:=2 +PKG_VERSION:=3.0.1 +PKG_RELEASE:=$(AUTORELEASE) +PKG_HASH:=259e682d6e90595573fe8880e0252cc8b08c813e19408b911c43383a6edd6852 + +PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz + PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION) -PKG_HASH:=bd86b181251e2308cb52f18410fb52d89df7f130cecf0298bbf9a848fe7daf60 - PKG_MAINTAINER:=Daniel Golle PKG_BUILD_DEPENDS:=golang/host protobuf/host diff --git a/utils/podman/patches/010-Fix-build-for-mips-architecture.patch b/utils/podman/patches/010-Fix-build-for-mips-architecture.patch deleted file mode 100644 index d568c2a7f8..0000000000 --- a/utils/podman/patches/010-Fix-build-for-mips-architecture.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 1ad796677e1ce3f03463c791818176586987c389 Mon Sep 17 00:00:00 2001 -From: Paul Holzinger -Date: Mon, 21 Dec 2020 12:30:06 +0100 -Subject: [PATCH] Fix build for mips architecture - -The signal SIGSTKFLT does not exists on mips architectures. -Also RTMIN and RTMAX are different. - -This code is copied from docker. - -Signed-off-by: Paul Holzinger ---- - pkg/signal/signal_linux.go | 1 + - pkg/signal/signal_linux_mipsx.go | 106 +++++++++++++++++++++++++++++++ - 2 files changed, 107 insertions(+) - create mode 100644 pkg/signal/signal_linux_mipsx.go - ---- a/pkg/signal/signal_linux.go -+++ b/pkg/signal/signal_linux.go -@@ -1,4 +1,5 @@ - // +build linux -+// +build !mips,!mipsle,!mips64,!mips64le - - // Signal handling for Linux only. - package signal ---- /dev/null -+++ b/pkg/signal/signal_linux_mipsx.go -@@ -0,0 +1,106 @@ -+// +build linux -+// +build mips mipsle mips64 mips64le -+ -+// Special signal handling for mips architecture -+package signal -+ -+// Copyright 2013-2018 Docker, Inc. -+ -+// NOTE: this package has originally been copied from github.com/docker/docker. -+ -+import ( -+ "os" -+ "os/signal" -+ "syscall" -+ -+ "golang.org/x/sys/unix" -+) -+ -+const ( -+ sigrtmin = 34 -+ sigrtmax = 127 -+) -+ -+// signalMap is a map of Linux signals. -+var signalMap = map[string]syscall.Signal{ -+ "ABRT": unix.SIGABRT, -+ "ALRM": unix.SIGALRM, -+ "BUS": unix.SIGBUS, -+ "CHLD": unix.SIGCHLD, -+ "CLD": unix.SIGCLD, -+ "CONT": unix.SIGCONT, -+ "FPE": unix.SIGFPE, -+ "HUP": unix.SIGHUP, -+ "ILL": unix.SIGILL, -+ "INT": unix.SIGINT, -+ "IO": unix.SIGIO, -+ "IOT": unix.SIGIOT, -+ "KILL": unix.SIGKILL, -+ "PIPE": unix.SIGPIPE, -+ "POLL": unix.SIGPOLL, -+ "PROF": unix.SIGPROF, -+ "PWR": unix.SIGPWR, -+ "QUIT": unix.SIGQUIT, -+ "SEGV": unix.SIGSEGV, -+ "EMT": unix.SIGEMT, -+ "STOP": unix.SIGSTOP, -+ "SYS": unix.SIGSYS, -+ "TERM": unix.SIGTERM, -+ "TRAP": unix.SIGTRAP, -+ "TSTP": unix.SIGTSTP, -+ "TTIN": unix.SIGTTIN, -+ "TTOU": unix.SIGTTOU, -+ "URG": unix.SIGURG, -+ "USR1": unix.SIGUSR1, -+ "USR2": unix.SIGUSR2, -+ "VTALRM": unix.SIGVTALRM, -+ "WINCH": unix.SIGWINCH, -+ "XCPU": unix.SIGXCPU, -+ "XFSZ": unix.SIGXFSZ, -+ "RTMIN": sigrtmin, -+ "RTMIN+1": sigrtmin + 1, -+ "RTMIN+2": sigrtmin + 2, -+ "RTMIN+3": sigrtmin + 3, -+ "RTMIN+4": sigrtmin + 4, -+ "RTMIN+5": sigrtmin + 5, -+ "RTMIN+6": sigrtmin + 6, -+ "RTMIN+7": sigrtmin + 7, -+ "RTMIN+8": sigrtmin + 8, -+ "RTMIN+9": sigrtmin + 9, -+ "RTMIN+10": sigrtmin + 10, -+ "RTMIN+11": sigrtmin + 11, -+ "RTMIN+12": sigrtmin + 12, -+ "RTMIN+13": sigrtmin + 13, -+ "RTMIN+14": sigrtmin + 14, -+ "RTMIN+15": sigrtmin + 15, -+ "RTMAX-14": sigrtmax - 14, -+ "RTMAX-13": sigrtmax - 13, -+ "RTMAX-12": sigrtmax - 12, -+ "RTMAX-11": sigrtmax - 11, -+ "RTMAX-10": sigrtmax - 10, -+ "RTMAX-9": sigrtmax - 9, -+ "RTMAX-8": sigrtmax - 8, -+ "RTMAX-7": sigrtmax - 7, -+ "RTMAX-6": sigrtmax - 6, -+ "RTMAX-5": sigrtmax - 5, -+ "RTMAX-4": sigrtmax - 4, -+ "RTMAX-3": sigrtmax - 3, -+ "RTMAX-2": sigrtmax - 2, -+ "RTMAX-1": sigrtmax - 1, -+ "RTMAX": sigrtmax, -+} -+ -+// CatchAll catches all signals and relays them to the specified channel. -+func CatchAll(sigc chan os.Signal) { -+ handledSigs := make([]os.Signal, 0, len(signalMap)) -+ for _, s := range signalMap { -+ handledSigs = append(handledSigs, s) -+ } -+ signal.Notify(sigc, handledSigs...) -+} -+ -+// StopCatch stops catching the signals and closes the specified channel. -+func StopCatch(sigc chan os.Signal) { -+ signal.Stop(sigc) -+ close(sigc) -+} diff --git a/utils/podman/patches/020-vendor-containers-psgo-v1.5.2.patch b/utils/podman/patches/020-vendor-containers-psgo-v1.5.2.patch deleted file mode 100644 index 255d9d869a..0000000000 --- a/utils/podman/patches/020-vendor-containers-psgo-v1.5.2.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 21f5154399fc33959a4f3c42e29cade6757015c9 Mon Sep 17 00:00:00 2001 -From: Valentin Rothberg -Date: Tue, 5 Jan 2021 10:44:16 +0100 -Subject: [PATCH] vendor containers/psgo@v1.5.2 - -Signed-off-by: Valentin Rothberg ---- - go.mod | 2 +- - go.sum | 4 ++-- - .../internal/capabilities/capabilities.go | 2 +- - .../containers/psgo/internal/dev/tty.go | 5 ++-- - .../containers/psgo/internal/proc/status.go | 2 +- - .../psgo/internal/process/process.go | 4 ++-- - vendor/github.com/containers/psgo/psgo.go | 24 +++++++++---------- - vendor/modules.txt | 2 +- - 8 files changed, 23 insertions(+), 22 deletions(-) - ---- a/go.mod -+++ b/go.mod -@@ -14,7 +14,7 @@ require ( - github.com/containers/common v0.29.0 - github.com/containers/conmon v2.0.20+incompatible - github.com/containers/image/v5 v5.9.0 -- github.com/containers/psgo v1.5.1 -+ github.com/containers/psgo v1.5.2 - github.com/containers/storage v1.24.1 - github.com/coreos/go-systemd/v22 v22.1.0 - github.com/cri-o/ocicni v0.2.1-0.20201102180012-75c612fda1a2 ---- a/go.sum -+++ b/go.sum -@@ -109,8 +109,8 @@ github.com/containers/libtrust v0.0.0-20 - github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY= - github.com/containers/ocicrypt v1.0.3 h1:vYgl+RZ9Q3DPMuTfxmN+qp0X2Bj52uuY2vnt6GzVe1c= - github.com/containers/ocicrypt v1.0.3/go.mod h1:CUBa+8MRNL/VkpxYIpaMtgn1WgXGyvPQj8jcy0EVG6g= --github.com/containers/psgo v1.5.1 h1:MQNb7FLbXqBdqz6u4lI2QWizVz4RSTzs1+Nk9XT1iVA= --github.com/containers/psgo v1.5.1/go.mod h1:2ubh0SsreMZjSXW1Hif58JrEcFudQyIy9EzPUWfawVU= -+github.com/containers/psgo v1.5.2 h1:3aoozst/GIwsrr/5jnFy3FrJay98uujPCu9lTuSZ/Cw= -+github.com/containers/psgo v1.5.2/go.mod h1:2ubh0SsreMZjSXW1Hif58JrEcFudQyIy9EzPUWfawVU= - github.com/containers/storage v1.23.6/go.mod h1:haFs0HRowKwyzvWEx9EgI3WsL8XCSnBDb5f8P5CAxJY= - github.com/containers/storage v1.23.7/go.mod h1:cUT2zHjtx+WlVri30obWmM2gpqpi8jfPsmIzP1TVpEI= - github.com/containers/storage v1.24.0 h1:Fo2LkF7tkMLmo38sTZ/G8wHjcn8JfUFPfyTxM4WwMfk= ---- a/vendor/github.com/containers/psgo/internal/capabilities/capabilities.go -+++ b/vendor/github.com/containers/psgo/internal/capabilities/capabilities.go -@@ -13,7 +13,7 @@ - // limitations under the License. - - // Package capabilities provides a mapping from common kernel bit masks to the --// alphanumerical represenation of kernel capabilities. See capabilities(7) -+// alphanumerical representation of kernel capabilities. See capabilities(7) - // for additional information. - package capabilities - ---- a/vendor/github.com/containers/psgo/internal/dev/tty.go -+++ b/vendor/github.com/containers/psgo/internal/dev/tty.go -@@ -113,8 +113,9 @@ func TTYs() (*[]TTY, error) { - } - s := fi.Sys().(*syscall.Stat_t) - t := TTY{ -- Minor: minDevNum(s.Rdev), -- Major: majDevNum(s.Rdev), -+ // Rdev is type uint32 on mips arch so we have to cast to uint64 -+ Minor: minDevNum(uint64(s.Rdev)), -+ Major: majDevNum(uint64(s.Rdev)), - Path: dev, - } - ttys = append(ttys, t) ---- a/vendor/github.com/containers/psgo/internal/proc/status.go -+++ b/vendor/github.com/containers/psgo/internal/proc/status.go -@@ -24,7 +24,7 @@ import ( - "github.com/pkg/errors" - ) - --// Status is a direct translation of a `/proc/[pid]/status`, wich provides much -+// Status is a direct translation of a `/proc/[pid]/status`, which provides much - // of the information in /proc/[pid]/stat and /proc/[pid]/statm in a format - // that's easier for humans to parse. - type Status struct { ---- a/vendor/github.com/containers/psgo/internal/process/process.go -+++ b/vendor/github.com/containers/psgo/internal/process/process.go -@@ -31,9 +31,9 @@ type Process struct { - Pid string - // Stat contains data from /proc/$pid/stat. - Stat proc.Stat -- // Status containes data from /proc/$pid/status. -+ // Status contains data from /proc/$pid/status. - Status proc.Status -- // CmdLine containes data from /proc/$pid/cmdline. -+ // CmdLine contains data from /proc/$pid/cmdline. - CmdLine []string - // Label containers data from /proc/$pid/attr/current. - Label string ---- a/vendor/github.com/containers/psgo/psgo.go -+++ b/vendor/github.com/containers/psgo/psgo.go -@@ -482,7 +482,7 @@ func JoinNamespaceAndProcessInfoByPidsWi - // catch race conditions - continue - } -- return nil, errors.Wrapf(err, "error extracing PID namespace") -+ return nil, errors.Wrapf(err, "error extracting PID namespace") - } - if _, exists := nsMap[ns]; !exists { - nsMap[ns] = true -@@ -759,7 +759,7 @@ func processVSZ(p *process.Process, ctx - } - - // parseCAP parses cap (a string bit mask) and returns the associated set of --// capabilities. If all capabilties are set, "full" is returned. If no -+// capabilities. If all capabilities are set, "full" is returned. If no - // capability is enabled, "none" is returned. - func parseCAP(cap string) (string, error) { - mask, err := strconv.ParseUint(cap, 16, 64) -@@ -777,36 +777,36 @@ func parseCAP(cap string) (string, error - return strings.Join(caps, ","), nil - } - --// processCAPAMB returns the set of ambient capabilties associated with --// process p. If all capabilties are set, "full" is returned. If no -+// processCAPAMB returns the set of ambient capabilities associated with -+// process p. If all capabilities are set, "full" is returned. If no - // capability is enabled, "none" is returned. - func processCAPAMB(p *process.Process, ctx *psContext) (string, error) { - return parseCAP(p.Status.CapAmb) - } - --// processCAPINH returns the set of inheritable capabilties associated with --// process p. If all capabilties are set, "full" is returned. If no -+// processCAPINH returns the set of inheritable capabilities associated with -+// process p. If all capabilities are set, "full" is returned. If no - // capability is enabled, "none" is returned. - func processCAPINH(p *process.Process, ctx *psContext) (string, error) { - return parseCAP(p.Status.CapInh) - } - --// processCAPPRM returns the set of permitted capabilties associated with --// process p. If all capabilties are set, "full" is returned. If no -+// processCAPPRM returns the set of permitted capabilities associated with -+// process p. If all capabilities are set, "full" is returned. If no - // capability is enabled, "none" is returned. - func processCAPPRM(p *process.Process, ctx *psContext) (string, error) { - return parseCAP(p.Status.CapPrm) - } - --// processCAPEFF returns the set of effective capabilties associated with --// process p. If all capabilties are set, "full" is returned. If no -+// processCAPEFF returns the set of effective capabilities associated with -+// process p. If all capabilities are set, "full" is returned. If no - // capability is enabled, "none" is returned. - func processCAPEFF(p *process.Process, ctx *psContext) (string, error) { - return parseCAP(p.Status.CapEff) - } - --// processCAPBND returns the set of bounding capabilties associated with --// process p. If all capabilties are set, "full" is returned. If no -+// processCAPBND returns the set of bounding capabilities associated with -+// process p. If all capabilities are set, "full" is returned. If no - // capability is enabled, "none" is returned. - func processCAPBND(p *process.Process, ctx *psContext) (string, error) { - return parseCAP(p.Status.CapBnd) ---- a/vendor/modules.txt -+++ b/vendor/modules.txt -@@ -160,7 +160,7 @@ github.com/containers/ocicrypt/keywrap/p - github.com/containers/ocicrypt/keywrap/pkcs7 - github.com/containers/ocicrypt/spec - github.com/containers/ocicrypt/utils --# github.com/containers/psgo v1.5.1 -+# github.com/containers/psgo v1.5.2 - github.com/containers/psgo - github.com/containers/psgo/internal/capabilities - github.com/containers/psgo/internal/cgroups diff --git a/utils/podman/patches/030-Fix-build-for-mips-architecture-followup.patch b/utils/podman/patches/030-Fix-build-for-mips-architecture-followup.patch deleted file mode 100644 index 0c4942ef02..0000000000 --- a/utils/podman/patches/030-Fix-build-for-mips-architecture-followup.patch +++ /dev/null @@ -1,24 +0,0 @@ -From fcba0df068d07ee7a26ec9d891220233d7d17dfd Mon Sep 17 00:00:00 2001 -From: Paul Holzinger -Date: Wed, 6 Jan 2021 23:32:40 +0100 -Subject: [PATCH] Fix build for mips architecture followup - -Followup to commit (1ad796677e1c). The build on mips is still -failing because SIGWINCH was not defined in the signal pkg. - -Signed-off-by: Paul Holzinger ---- - pkg/signal/signal_linux_mipsx.go | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/pkg/signal/signal_linux_mipsx.go -+++ b/pkg/signal/signal_linux_mipsx.go -@@ -19,6 +19,8 @@ import ( - const ( - sigrtmin = 34 - sigrtmax = 127 -+ -+ SIGWINCH = syscall.SIGWINCH - ) - - // signalMap is a map of Linux signals. diff --git a/utils/podman/patches/040-mips.patch b/utils/podman/patches/040-mips.patch deleted file mode 100644 index ce00172443..0000000000 --- a/utils/podman/patches/040-mips.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- a/pkg/spec/config_linux.go -+++ b/pkg/spec/config_linux.go -@@ -294,8 +294,8 @@ func (c *CreateConfig) createBlockIO() ( - lwd := spec.LinuxWeightDevice{ - Weight: &wd.Weight, - } -- lwd.Major = int64(unix.Major(wdStat.Rdev)) -- lwd.Minor = int64(unix.Minor(wdStat.Rdev)) -+ lwd.Major = int64(unix.Major(uint64(wdStat.Rdev))) //nolint: unconvert -+ lwd.Minor = int64(unix.Minor(uint64(wdStat.Rdev))) //nolint: unconvert - lwds = append(lwds, lwd) - } - bio.WeightDevice = lwds -@@ -357,8 +357,8 @@ func makeThrottleArray(throttleInput []s - ltd := spec.LinuxThrottleDevice{ - Rate: t.rate, - } -- ltd.Major = int64(unix.Major(ltdStat.Rdev)) -- ltd.Minor = int64(unix.Minor(ltdStat.Rdev)) -+ ltd.Major = int64(unix.Major(uint64(ltdStat.Rdev))) // nolint: unconvert -+ ltd.Minor = int64(unix.Minor(uint64(ltdStat.Rdev))) // nolint: unconvert - ltds = append(ltds, ltd) - } - return ltds, nil ---- a/pkg/specgen/generate/container.go -+++ b/pkg/specgen/generate/container.go -@@ -282,8 +282,8 @@ func finishThrottleDevices(s *specgen.Sp - if err := unix.Stat(k, &statT); err != nil { - return err - } -- v.Major = (int64(unix.Major(statT.Rdev))) -- v.Minor = (int64(unix.Minor(statT.Rdev))) -+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert -+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert - s.ResourceLimits.BlockIO.ThrottleReadBpsDevice = append(s.ResourceLimits.BlockIO.ThrottleReadBpsDevice, v) - } - } -@@ -293,8 +293,8 @@ func finishThrottleDevices(s *specgen.Sp - if err := unix.Stat(k, &statT); err != nil { - return err - } -- v.Major = (int64(unix.Major(statT.Rdev))) -- v.Minor = (int64(unix.Minor(statT.Rdev))) -+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert -+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert - s.ResourceLimits.BlockIO.ThrottleWriteBpsDevice = append(s.ResourceLimits.BlockIO.ThrottleWriteBpsDevice, v) - } - } -@@ -304,8 +304,8 @@ func finishThrottleDevices(s *specgen.Sp - if err := unix.Stat(k, &statT); err != nil { - return err - } -- v.Major = (int64(unix.Major(statT.Rdev))) -- v.Minor = (int64(unix.Minor(statT.Rdev))) -+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert -+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert - s.ResourceLimits.BlockIO.ThrottleReadIOPSDevice = append(s.ResourceLimits.BlockIO.ThrottleReadIOPSDevice, v) - } - } -@@ -315,8 +315,8 @@ func finishThrottleDevices(s *specgen.Sp - if err := unix.Stat(k, &statT); err != nil { - return err - } -- v.Major = (int64(unix.Major(statT.Rdev))) -- v.Minor = (int64(unix.Minor(statT.Rdev))) -+ v.Major = (int64(unix.Major(uint64(statT.Rdev)))) // nolint: unconvert -+ v.Minor = (int64(unix.Minor(uint64(statT.Rdev)))) // nolint: unconvert - s.ResourceLimits.BlockIO.ThrottleWriteIOPSDevice = append(s.ResourceLimits.BlockIO.ThrottleWriteIOPSDevice, v) - } - }