From 2ac337dbd856f6eda4db2c1dcfbeac5af8e8b63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= Date: Mon, 2 Mar 2026 23:06:53 +0100 Subject: [PATCH] Behavior change: Don't change TMPDIR in WithRegistriesConf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, using WithRegistriesConf was setting BigFilesTemporaryDir using buildah/internal/tmpdir, which (turns relative $TMPDIR into absolute and) silently ignores invalid values in containers.conf and uses /var/tmp in that case. Without WithRegistriesConf, we would first initialize libimage with BigFilesTemporaryDir = nil (causing libimage to determine BigFilesTemporaryDir using a _different_ code path which fails on invalid containers.conf), and only later set r.imageContext.BigFilesTemporaryDir. It doesn't make sense that --registries-conf should affect TMPDIR processing that way, and presumably the code path without --registries-conf is much more frequently used and the one everyone expects; so drop this aspect of WithRegistriesConf. Signed-off-by: Miloslav Trmač --- libpod/options.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libpod/options.go b/libpod/options.go index f344ae3e84..61490e8e0f 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -14,7 +14,6 @@ import ( "syscall" "time" - "github.com/containers/buildah/pkg/parse" "github.com/containers/podman/v6/libpod/define" "github.com/containers/podman/v6/libpod/events" "github.com/containers/podman/v6/pkg/namespaces" @@ -223,9 +222,7 @@ func WithRegistriesConf(path string) RuntimeOption { return fmt.Errorf("locating specified registries.conf: %w", err) } if rt.imageContext == nil { - rt.imageContext = &types.SystemContext{ - BigFilesTemporaryDir: parse.GetTempDir(), - } + rt.imageContext = &types.SystemContext{} } rt.imageContext.SystemRegistriesConfPath = path