2023-09-12 20:35:12 +08:00
|
|
|
package tmpdir
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
|
|
|
|
"github.com/sirupsen/logrus"
|
2025-08-29 20:55:12 +08:00
|
|
|
"go.podman.io/common/pkg/config"
|
2023-09-12 20:35:12 +08:00
|
|
|
)
|
|
|
|
|
2023-11-16 03:20:56 +08:00
|
|
|
// GetTempDir returns the path of the preferred temporary directory on the host.
|
2023-09-12 20:35:12 +08:00
|
|
|
func GetTempDir() string {
|
|
|
|
if tmpdir, ok := os.LookupEnv("TMPDIR"); ok {
|
|
|
|
abs, err := filepath.Abs(tmpdir)
|
|
|
|
if err == nil {
|
|
|
|
return abs
|
|
|
|
}
|
|
|
|
logrus.Warnf("ignoring TMPDIR from environment, evaluating it: %v", err)
|
|
|
|
}
|
2023-09-14 08:57:12 +08:00
|
|
|
if containerConfig, err := config.Default(); err == nil {
|
|
|
|
if tmpdir, err := containerConfig.ImageCopyTmpDir(); err == nil {
|
2023-09-12 20:35:12 +08:00
|
|
|
return tmpdir
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return "/var/tmp"
|
|
|
|
}
|