From f5b40ab6b5b3c986a055e18813d0e32219eb6092 Mon Sep 17 00:00:00 2001 From: WxNzEMof <143541718+WxNzEMof@users.noreply.github.com> Date: Thu, 4 Apr 2024 13:43:54 +0000 Subject: [PATCH] podman: 4.9.3 -> 5.0.1 --- .../virtualization/podman/default.nix | 17 ++- .../podman/hardcode-paths.patch | 109 ++++++++++++++++++ .../podman/rm-podman-mac-helper-msg.patch | 20 +++- 3 files changed, 138 insertions(+), 8 deletions(-) create mode 100644 pkgs/applications/virtualization/podman/hardcode-paths.patch diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index b3ea9bd94a92..0547a30688c2 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -17,9 +17,12 @@ , makeWrapper , runtimeShell , symlinkJoin +, substituteAll , extraPackages ? [ ] , runc , crun +, gvisor +, youki , conmon , slirp4netns , fuse-overlayfs @@ -30,6 +33,7 @@ , gvproxy , aardvark-dns , netavark +, passt , testers , podman }: @@ -37,9 +41,6 @@ let # do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed binPath = lib.makeBinPath (lib.optionals stdenv.isLinux [ - runc - crun - conmon fuse-overlayfs util-linux iptables @@ -57,21 +58,27 @@ let catatonit # added here for the pause image and also set in `containersConf` for `init_path` netavark slirp4netns + passt ]; }; in buildGoModule rec { pname = "podman"; - version = "4.9.3"; + version = "5.0.1"; src = fetchFromGitHub { owner = "containers"; repo = "podman"; rev = "v${version}"; - hash = "sha256-PdAXcXtc/Jl3ttWWB6TciiOwWescJ51Glhf2ZhOw550="; + hash = "sha256-XgLrPLswLmaB9FYXKEMLP+7KT/OY50z3JKz8DvMLrEE="; }; patches = [ + (substituteAll { + src = ./hardcode-paths.patch; + inherit crun runc gvisor youki conmon; + }) + # we intentionally don't build and install the helper so we shouldn't display messages to users about it ./rm-podman-mac-helper-msg.patch ]; diff --git a/pkgs/applications/virtualization/podman/hardcode-paths.patch b/pkgs/applications/virtualization/podman/hardcode-paths.patch new file mode 100644 index 000000000000..05394f62877a --- /dev/null +++ b/pkgs/applications/virtualization/podman/hardcode-paths.patch @@ -0,0 +1,109 @@ +diff --git a/vendor/github.com/containers/common/pkg/config/default.go b/vendor/github.com/containers/common/pkg/config/default.go +index 19c4bb6bf..2743de4b2 100644 +--- a/vendor/github.com/containers/common/pkg/config/default.go ++++ b/vendor/github.com/containers/common/pkg/config/default.go +@@ -364,75 +364,34 @@ func defaultEngineConfig() (*EngineConfig, error) { + c.Retry = 3 + c.OCIRuntimes = map[string][]string{ + "crun": { +- "/usr/bin/crun", +- "/usr/sbin/crun", +- "/usr/local/bin/crun", +- "/usr/local/sbin/crun", +- "/sbin/crun", +- "/bin/crun", +- "/run/current-system/sw/bin/crun", ++ "@crun@/bin/crun", + }, + "crun-vm": { +- "/usr/bin/crun-vm", +- "/usr/local/bin/crun-vm", +- "/usr/local/sbin/crun-vm", +- "/sbin/crun-vm", +- "/bin/crun-vm", +- "/run/current-system/sw/bin/crun-vm", ++ // TODO: "@crun-vm@/bin/crun-vm", + }, + "crun-wasm": { +- "/usr/bin/crun-wasm", +- "/usr/sbin/crun-wasm", +- "/usr/local/bin/crun-wasm", +- "/usr/local/sbin/crun-wasm", +- "/sbin/crun-wasm", +- "/bin/crun-wasm", +- "/run/current-system/sw/bin/crun-wasm", ++ // TODO: "@crun-wasm@/bin/crun-wasm", + }, + "runc": { +- "/usr/bin/runc", +- "/usr/sbin/runc", +- "/usr/local/bin/runc", +- "/usr/local/sbin/runc", +- "/sbin/runc", +- "/bin/runc", +- "/usr/lib/cri-o-runc/sbin/runc", +- "/run/current-system/sw/bin/runc", ++ "@runc@/bin/runc", + }, + "runj": { +- "/usr/local/bin/runj", ++ // TODO: "@runj@/bin/runj", + }, + "kata": { +- "/usr/bin/kata-runtime", +- "/usr/sbin/kata-runtime", +- "/usr/local/bin/kata-runtime", +- "/usr/local/sbin/kata-runtime", +- "/sbin/kata-runtime", +- "/bin/kata-runtime", +- "/usr/bin/kata-qemu", +- "/usr/bin/kata-fc", ++ // TODO: "@kata@/bin/kata", + }, + "runsc": { +- "/usr/bin/runsc", +- "/usr/sbin/runsc", +- "/usr/local/bin/runsc", +- "/usr/local/sbin/runsc", +- "/bin/runsc", +- "/sbin/runsc", +- "/run/current-system/sw/bin/runsc", ++ "@gvisor@/bin/runsc", + }, + "youki": { +- "/usr/local/bin/youki", +- "/usr/bin/youki", +- "/bin/youki", +- "/run/current-system/sw/bin/youki", ++ "@youki@/bin/youki", + }, + "krun": { +- "/usr/bin/krun", +- "/usr/local/bin/krun", ++ // TODO: "@krun@/bin/krun", + }, + "ocijail": { +- "/usr/local/bin/ocijail", ++ // TODO: "@ocijail@/bin/ocijail", + }, + } + c.PlatformToOCIRuntime = map[string]string{ +@@ -443,16 +402,9 @@ func defaultEngineConfig() (*EngineConfig, error) { + // Needs to be called after populating c.OCIRuntimes. + c.OCIRuntime = c.findRuntime() + +- c.ConmonEnvVars.Set([]string{"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}) ++ c.ConmonEnvVars.Set([]string{}) + c.ConmonPath.Set([]string{ +- "/usr/libexec/podman/conmon", +- "/usr/local/libexec/podman/conmon", +- "/usr/local/lib/podman/conmon", +- "/usr/bin/conmon", +- "/usr/sbin/conmon", +- "/usr/local/bin/conmon", +- "/usr/local/sbin/conmon", +- "/run/current-system/sw/bin/conmon", ++ "@conmon@/bin/conmon", + }) + c.ConmonRsPath.Set([]string{ + "/usr/libexec/podman/conmonrs", diff --git a/pkgs/applications/virtualization/podman/rm-podman-mac-helper-msg.patch b/pkgs/applications/virtualization/podman/rm-podman-mac-helper-msg.patch index 179ce41f02b2..4cc253c4c68f 100644 --- a/pkgs/applications/virtualization/podman/rm-podman-mac-helper-msg.patch +++ b/pkgs/applications/virtualization/podman/rm-podman-mac-helper-msg.patch @@ -1,8 +1,22 @@ diff --git a/pkg/machine/machine_common.go b/pkg/machine/machine_common.go -index 4e43dd54c..a981d93bf 100644 +index 1afc3d15b..a8aafcaae 100644 --- a/pkg/machine/machine_common.go +++ b/pkg/machine/machine_common.go -@@ -127,14 +127,6 @@ address can't be used by podman. ` +@@ -33,13 +33,8 @@ func GetDevNullFiles() (*os.File, *os.File, error) { + // WaitAPIAndPrintInfo prints info about the machine and does a ping test on the + // API socket + func WaitAPIAndPrintInfo(forwardState APIForwardingState, name, helper, forwardSock string, noInfo, rootful bool) { +- suffix := "" + var fmtString string + +- if name != DefaultMachineName { +- suffix = " " + name +- } +- + if forwardState == NoForwarding { + return + } +@@ -61,14 +56,6 @@ address can't be used by podman. ` if len(helper) < 1 { fmt.Print(fmtString) @@ -12,7 +26,7 @@ index 4e43dd54c..a981d93bf 100644 - sudo %s install - podman machine stop%[2]s; podman machine start%[2]s - -- ` +-` - fmt.Printf(fmtString, helper, suffix) } case MachineLocal: