mirror of
https://github.com/containers/podman.git
synced 2026-07-18 11:11:54 -04:00
Replace deprecated ioutil
Package `io/ioutil` was deprecated in golang 1.16, preventing podman from building under Fedora 37. Fortunately, functionality identical replacements are provided by the packages `io` and `os`. Replace all usage of all `io/ioutil` symbols with appropriate substitutions according to the golang docs. Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
@@ -2,7 +2,6 @@ package compat
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
@@ -19,7 +18,7 @@ func ExportContainer(w http.ResponseWriter, r *http.Request) {
|
||||
utils.ContainerNotFound(w, name, err)
|
||||
return
|
||||
}
|
||||
tmpfile, err := ioutil.TempFile("", "api.tar")
|
||||
tmpfile, err := os.CreateTemp("", "api.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
@@ -49,7 +48,7 @@ func ExportImage(w http.ResponseWriter, r *http.Request) {
|
||||
// 500 server
|
||||
runtime := r.Context().Value(api.RuntimeKey).(*libpod.Runtime)
|
||||
|
||||
tmpfile, err := ioutil.TempFile("", "api.tar")
|
||||
tmpfile, err := os.CreateTemp("", "api.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
@@ -193,7 +192,7 @@ func CreateImageFromSrc(w http.ResponseWriter, r *http.Request) {
|
||||
// fromSrc – Source to import. The value may be a URL from which the image can be retrieved or - to read the image from the request body. This parameter may only be used when importing an image.
|
||||
source := query.FromSrc
|
||||
if source == "-" {
|
||||
f, err := ioutil.TempFile("", "api_load.tar")
|
||||
f, err := os.CreateTemp("", "api_load.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("failed to create tempfile: %w", err))
|
||||
return
|
||||
@@ -480,7 +479,7 @@ func LoadImages(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
// First write the body to a temporary file that we can later attempt
|
||||
// to load.
|
||||
f, err := ioutil.TempFile("", "api_load.tar")
|
||||
f, err := os.CreateTemp("", "api_load.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("failed to create tempfile: %w", err))
|
||||
return
|
||||
@@ -547,7 +546,7 @@ func ExportImages(w http.ResponseWriter, r *http.Request) {
|
||||
images[i] = possiblyNormalizedName
|
||||
}
|
||||
|
||||
tmpfile, err := ioutil.TempFile("", "api.tar")
|
||||
tmpfile, err := os.CreateTemp("", "api.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -182,7 +181,7 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
|
||||
dockerFileSet := false
|
||||
if utils.IsLibpodRequest(r) && query.Remote != "" {
|
||||
// The context directory could be a URL. Try to handle that.
|
||||
anchorDir, err := ioutil.TempDir(parse.GetTempDir(), "libpod_builder")
|
||||
anchorDir, err := os.MkdirTemp(parse.GetTempDir(), "libpod_builder")
|
||||
if err != nil {
|
||||
utils.InternalServerError(w, err)
|
||||
}
|
||||
@@ -730,7 +729,7 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
|
||||
if logrus.IsLevelEnabled(logrus.DebugLevel) {
|
||||
if v, found := os.LookupEnv("PODMAN_RETAIN_BUILD_ARTIFACT"); found {
|
||||
if keep, _ := strconv.ParseBool(v); keep {
|
||||
t, _ := ioutil.TempFile("", "build_*_server")
|
||||
t, _ := os.CreateTemp("", "build_*_server")
|
||||
defer t.Close()
|
||||
body = io.MultiWriter(t, w)
|
||||
}
|
||||
@@ -852,7 +851,7 @@ func parseLibPodIsolation(isolation string) (buildah.Isolation, error) {
|
||||
|
||||
func extractTarFile(r *http.Request) (string, error) {
|
||||
// build a home for the request body
|
||||
anchorDir, err := ioutil.TempDir("", "libpod_builder")
|
||||
anchorDir, err := os.MkdirTemp("", "libpod_builder")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -4,8 +4,9 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/containers/image/v5/types"
|
||||
@@ -26,7 +27,7 @@ func PushImage(w http.ResponseWriter, r *http.Request) {
|
||||
decoder := r.Context().Value(api.DecoderKey).(*schema.Decoder)
|
||||
runtime := r.Context().Value(api.RuntimeKey).(*libpod.Runtime)
|
||||
|
||||
digestFile, err := ioutil.TempFile("", "digest.txt")
|
||||
digestFile, err := os.CreateTemp("", "digest.txt")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
@@ -186,7 +187,7 @@ loop: // break out of for/select infinite loop
|
||||
break loop
|
||||
}
|
||||
|
||||
digestBytes, err := ioutil.ReadAll(digestFile)
|
||||
digestBytes, err := io.ReadAll(digestFile)
|
||||
if err != nil {
|
||||
report.Error = &jsonmessage.JSONError{
|
||||
Message: err.Error(),
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
@@ -248,7 +247,7 @@ func Checkpoint(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if query.Export {
|
||||
f, err := ioutil.TempFile("", "checkpoint")
|
||||
f, err := os.CreateTemp("", "checkpoint")
|
||||
if err != nil {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
@@ -329,7 +328,7 @@ func Restore(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
var names []string
|
||||
if query.Import {
|
||||
t, err := ioutil.TempFile("", "restore")
|
||||
t, err := os.CreateTemp("", "restore")
|
||||
if err != nil {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -182,7 +181,7 @@ func ExportImage(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
switch query.Format {
|
||||
case define.OCIArchive, define.V2s2Archive:
|
||||
tmpfile, err := ioutil.TempFile("", "api.tar")
|
||||
tmpfile, err := os.CreateTemp("", "api.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
@@ -193,7 +192,7 @@ func ExportImage(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
case define.OCIManifestDir, define.V2s2ManifestDir:
|
||||
tmpdir, err := ioutil.TempDir("", "save")
|
||||
tmpdir, err := os.MkdirTemp("", "save")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempdir: %w", err))
|
||||
return
|
||||
@@ -279,7 +278,7 @@ func ExportImages(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
switch query.Format {
|
||||
case define.V2s2Archive, define.OCIArchive:
|
||||
tmpfile, err := ioutil.TempFile("", "api.tar")
|
||||
tmpfile, err := os.CreateTemp("", "api.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
@@ -290,7 +289,7 @@ func ExportImages(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
case define.OCIManifestDir, define.V2s2ManifestDir:
|
||||
tmpdir, err := ioutil.TempDir("", "save")
|
||||
tmpdir, err := os.MkdirTemp("", "save")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tmpdir: %w", err))
|
||||
return
|
||||
@@ -329,7 +328,7 @@ func ExportImages(w http.ResponseWriter, r *http.Request) {
|
||||
func ImagesLoad(w http.ResponseWriter, r *http.Request) {
|
||||
runtime := r.Context().Value(api.RuntimeKey).(*libpod.Runtime)
|
||||
|
||||
tmpfile, err := ioutil.TempFile("", "libpod-images-load.tar")
|
||||
tmpfile, err := os.CreateTemp("", "libpod-images-load.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
@@ -378,7 +377,7 @@ func ImagesImport(w http.ResponseWriter, r *http.Request) {
|
||||
// Check if we need to load the image from a URL or from the request's body.
|
||||
source := query.URL
|
||||
if len(query.URL) == 0 {
|
||||
tmpfile, err := ioutil.TempFile("", "libpod-images-import.tar")
|
||||
tmpfile, err := os.CreateTemp("", "libpod-images-import.tar")
|
||||
if err != nil {
|
||||
utils.Error(w, http.StatusInternalServerError, fmt.Errorf("unable to create tempfile: %w", err))
|
||||
return
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
@@ -83,7 +83,7 @@ func ManifestCreate(w http.ResponseWriter, r *http.Request) {
|
||||
status = http.StatusCreated
|
||||
}
|
||||
|
||||
buffer, err := ioutil.ReadAll(r.Body)
|
||||
buffer, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
|
||||
@@ -2,7 +2,6 @@ package server
|
||||
|
||||
import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
@@ -41,7 +40,7 @@ func loggingHandler() mux.MiddlewareFunc {
|
||||
"API": "request",
|
||||
"X-Reference-Id": r.Header.Get("X-Reference-Id"),
|
||||
})
|
||||
r.Body = ioutil.NopCloser(
|
||||
r.Body = io.NopCloser(
|
||||
io.TeeReader(r.Body, annotated.WriterLevel(logrus.TraceLevel)))
|
||||
|
||||
w = responseWriter{ResponseWriter: w}
|
||||
|
||||
@@ -2,7 +2,7 @@ package server
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
"github.com/containers/podman/v4/pkg/api/types"
|
||||
@@ -17,7 +17,7 @@ import (
|
||||
func referenceIDHandler() mux.MiddlewareFunc {
|
||||
return func(h http.Handler) http.Handler {
|
||||
// Only log Apache access_log-like entries at Info level or below
|
||||
out := ioutil.Discard
|
||||
out := io.Discard
|
||||
if logrus.IsLevelEnabled(logrus.InfoLevel) {
|
||||
out = logrus.StandardLogger().Out
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
@@ -233,7 +232,7 @@ func encodeMultiAuthConfigs(authConfigs map[string]types.DockerAuthConfig) (stri
|
||||
// TMPDIR will be used.
|
||||
func authConfigsToAuthFile(authConfigs map[string]types.DockerAuthConfig) (string, error) {
|
||||
// Initialize an empty temporary JSON file.
|
||||
tmpFile, err := ioutil.TempFile("", "auth.json.")
|
||||
tmpFile, err := os.CreateTemp("", "auth.json.")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package auth
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"testing"
|
||||
@@ -37,10 +36,10 @@ func systemContextForAuthFile(t *testing.T, fileContents string) (*types.SystemC
|
||||
return nil, func() {}
|
||||
}
|
||||
|
||||
f, err := ioutil.TempFile("", "auth.json")
|
||||
f, err := os.CreateTemp("", "auth.json")
|
||||
require.NoError(t, err)
|
||||
path := f.Name()
|
||||
err = ioutil.WriteFile(path, []byte(fileContents), 0700)
|
||||
err = os.WriteFile(path, []byte(fileContents), 0700)
|
||||
require.NoError(t, err)
|
||||
return &types.SystemContext{AuthFilePath: path}, func() { os.Remove(path) }
|
||||
}
|
||||
@@ -347,7 +346,7 @@ func TestAuthConfigsToAuthFile(t *testing.T) {
|
||||
assert.Empty(t, filePath)
|
||||
} else {
|
||||
assert.NoError(t, err)
|
||||
content, err := ioutil.ReadFile(filePath)
|
||||
content, err := os.ReadFile(filePath)
|
||||
require.NoError(t, err)
|
||||
assert.Contains(t, string(content), tc.expectedContains)
|
||||
os.Remove(filePath)
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
|
||||
"github.com/containers/podman/v4/pkg/errorhandling"
|
||||
)
|
||||
@@ -29,7 +29,7 @@ func (h APIResponse) Process(unmarshalInto interface{}) error {
|
||||
// ProcessWithError drains the response body, and processes the HTTP status code
|
||||
// Note: Closing the response.Body is left to the caller
|
||||
func (h APIResponse) ProcessWithError(unmarshalInto interface{}, unmarshalErrorInto interface{}) error {
|
||||
data, err := ioutil.ReadAll(h.Response.Body)
|
||||
data, err := io.ReadAll(h.Response.Body)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to process API response: %w", err)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -257,7 +256,7 @@ func Modify(ctx context.Context, name string, images []string, options *ModifyOp
|
||||
}
|
||||
defer response.Body.Close()
|
||||
|
||||
data, err := ioutil.ReadAll(response.Body)
|
||||
data, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("unable to process API response: %w", err)
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
metadata "github.com/checkpoint-restore/checkpointctl/lib"
|
||||
@@ -26,7 +25,7 @@ import (
|
||||
func CRImportCheckpointTar(ctx context.Context, runtime *libpod.Runtime, restoreOptions entities.RestoreOptions) ([]*libpod.Container, error) {
|
||||
// First get the container definition from the
|
||||
// tarball to a temporary directory
|
||||
dir, err := ioutil.TempDir("", "checkpoint")
|
||||
dir, err := os.MkdirTemp("", "checkpoint")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@@ -237,7 +236,7 @@ func CRRuntimeSupportsPodCheckpointRestore(runtimePath string) bool {
|
||||
// given checkpoint archive and returns the runtime used to create
|
||||
// the given checkpoint archive.
|
||||
func CRGetRuntimeFromArchive(input string) (*string, error) {
|
||||
dir, err := ioutil.TempDir("", "checkpoint")
|
||||
dir, err := os.MkdirTemp("", "checkpoint")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package ctime
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -10,13 +9,13 @@ import (
|
||||
func TestCreated(t *testing.T) {
|
||||
before := time.Now()
|
||||
|
||||
fileA, err := ioutil.TempFile("", "ctime-test-")
|
||||
fileA, err := os.CreateTemp("", "ctime-test-")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
defer os.Remove(fileA.Name())
|
||||
|
||||
fileB, err := ioutil.TempFile("", "ctime-test-")
|
||||
fileB, err := os.CreateTemp("", "ctime-test-")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
@@ -340,7 +339,7 @@ func (ir *ImageEngine) Push(ctx context.Context, source string, destination stri
|
||||
return err
|
||||
}
|
||||
|
||||
if err := ioutil.WriteFile(options.DigestFile, []byte(manifestDigest.String()), 0644); err != nil {
|
||||
if err := os.WriteFile(options.DigestFile, []byte(manifestDigest.String()), 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -910,5 +909,5 @@ func putSignature(manifestBlob []byte, mech signature.SigningMechanism, sigStore
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return ioutil.WriteFile(filepath.Join(signatureDir, sigFilename), newSig, 0644)
|
||||
return os.WriteFile(filepath.Join(signatureDir, sigFilename), newSig, 0644)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
@@ -116,7 +115,7 @@ func (ic *ContainerEngine) PlayKube(ctx context.Context, body io.Reader, options
|
||||
validKinds := 0
|
||||
|
||||
// read yaml document
|
||||
content, err := ioutil.ReadAll(body)
|
||||
content, err := io.ReadAll(body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -873,7 +872,7 @@ func (ic *ContainerEngine) playKubePVC(ctx context.Context, pvcYAML *v1.Persiste
|
||||
func readConfigMapFromFile(r io.Reader) (v1.ConfigMap, error) {
|
||||
var cm v1.ConfigMap
|
||||
|
||||
content, err := ioutil.ReadAll(r)
|
||||
content, err := io.ReadAll(r)
|
||||
if err != nil {
|
||||
return cm, fmt.Errorf("unable to read ConfigMap YAML content: %w", err)
|
||||
}
|
||||
@@ -1005,7 +1004,7 @@ func (ic *ContainerEngine) PlayKubeDown(ctx context.Context, body io.Reader, _ e
|
||||
reports := new(entities.PlayKubeReport)
|
||||
|
||||
// read yaml document
|
||||
content, err := ioutil.ReadAll(body)
|
||||
content, err := io.ReadAll(body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
@@ -14,7 +13,7 @@ import (
|
||||
)
|
||||
|
||||
func (ic *ContainerEngine) SecretCreate(ctx context.Context, name string, reader io.Reader, options entities.SecretCreateOptions) (*entities.SecretCreateReport, error) {
|
||||
data, _ := ioutil.ReadAll(reader)
|
||||
data, _ := io.ReadAll(reader)
|
||||
secretsPath := ic.Libpod.GetSecretsStorageDir()
|
||||
manager, err := ic.Libpod.SecretsManager()
|
||||
if err != nil {
|
||||
|
||||
@@ -3,7 +3,7 @@ package abi
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
"github.com/containers/podman/v4/pkg/domain/entities"
|
||||
"github.com/containers/podman/v4/pkg/trust"
|
||||
@@ -18,7 +18,7 @@ func (ir *ImageEngine) ShowTrust(ctx context.Context, args []string, options ent
|
||||
if len(options.PolicyPath) > 0 {
|
||||
policyPath = options.PolicyPath
|
||||
}
|
||||
report.Raw, err = ioutil.ReadFile(policyPath)
|
||||
report.Raw, err = os.ReadFile(policyPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -264,7 +263,7 @@ func (ir *ImageEngine) Save(ctx context.Context, nameOrID string, tags []string,
|
||||
|
||||
switch opts.Format {
|
||||
case "oci-dir", "docker-dir":
|
||||
f, err = ioutil.TempFile("", "podman_save")
|
||||
f, err = os.CreateTemp("", "podman_save")
|
||||
if err == nil {
|
||||
defer func() { _ = os.Remove(f.Name()) }()
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
@@ -29,7 +28,7 @@ func ExecuteTransfer(src, dst string, parentFlags []string, quiet bool, sshMode
|
||||
return nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
f, err := ioutil.TempFile("", "podman") // open temp file for load/save output
|
||||
f, err := os.CreateTemp("", "podman") // open temp file for load/save output
|
||||
if err != nil {
|
||||
return nil, nil, nil, nil, err
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ package machine
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"net/url"
|
||||
"os"
|
||||
@@ -283,7 +282,7 @@ func (m *VMFile) Delete() error {
|
||||
|
||||
// Read the contents of a given file and return in []bytes
|
||||
func (m *VMFile) Read() ([]byte, error) {
|
||||
return ioutil.ReadFile(m.GetPath())
|
||||
return os.ReadFile(m.GetPath())
|
||||
}
|
||||
|
||||
// NewMachineFile is a constructor for VMFile
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package e2e_test
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
@@ -138,9 +137,9 @@ var _ = Describe("podman machine init", func() {
|
||||
})
|
||||
|
||||
It("machine init with volume", func() {
|
||||
tmpDir, err := ioutil.TempDir("", "")
|
||||
tmpDir, err := os.MkdirTemp("", "")
|
||||
Expect(err).To(BeNil())
|
||||
_, err = ioutil.TempFile(tmpDir, "example")
|
||||
_, err = os.CreateTemp(tmpDir, "example")
|
||||
Expect(err).To(BeNil())
|
||||
mount := tmpDir + ":/testmountdir"
|
||||
defer os.RemoveAll(tmpDir)
|
||||
|
||||
@@ -3,7 +3,6 @@ package e2e_test
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
url2 "net/url"
|
||||
"os"
|
||||
"path"
|
||||
@@ -77,7 +76,7 @@ var _ = SynchronizedAfterSuite(func() {},
|
||||
|
||||
func setup() (string, *machineTestBuilder) {
|
||||
// Set TMPDIR if this needs a new directory
|
||||
homeDir, err := ioutil.TempDir("", "podman_test")
|
||||
homeDir, err := os.MkdirTemp("", "podman_test")
|
||||
if err != nil {
|
||||
Fail(fmt.Sprintf("failed to create home directory: %q", err))
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ package machine
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
"net/http"
|
||||
url2 "net/url"
|
||||
"os"
|
||||
@@ -175,7 +175,7 @@ func GetFCOSDownload(imageStream string) (*FcosDownloadInfo, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -227,7 +226,7 @@ WantedBy=sysinit.target
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return ioutil.WriteFile(ign.WritePath, b, 0644)
|
||||
return os.WriteFile(ign.WritePath, b, 0644)
|
||||
}
|
||||
|
||||
func getDirs(usrName string) []Directory {
|
||||
@@ -559,7 +558,7 @@ func getCerts(certsDir string, isDir bool) []File {
|
||||
}
|
||||
|
||||
func prepareCertFile(path string, name string) (File, error) {
|
||||
b, err := ioutil.ReadFile(path)
|
||||
b, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
logrus.Warnf("Unable to read cert file %v", err)
|
||||
return File{}, err
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@@ -27,7 +26,7 @@ func CreateSSHKeys(writeLocation string) (string, error) {
|
||||
if err := generatekeys(writeLocation); err != nil {
|
||||
return "", err
|
||||
}
|
||||
b, err := ioutil.ReadFile(writeLocation + ".pub")
|
||||
b, err := os.ReadFile(writeLocation + ".pub")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -45,7 +44,7 @@ func CreateSSHKeysPrefix(dir string, file string, passThru bool, skipExisting bo
|
||||
} else {
|
||||
fmt.Println("Keys already exist, reusing")
|
||||
}
|
||||
b, err := ioutil.ReadFile(filepath.Join(dir, file) + ".pub")
|
||||
b, err := os.ReadFile(filepath.Join(dir, file) + ".pub")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
url2 "net/url"
|
||||
"os"
|
||||
@@ -191,7 +190,7 @@ func Decompress(localPath, uncompressedPath string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
sourceFile, err := ioutil.ReadFile(localPath)
|
||||
sourceFile, err := os.ReadFile(localPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package qemu
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
"net"
|
||||
"os"
|
||||
"os/user"
|
||||
@@ -43,7 +43,7 @@ func claimDockerSock() bool {
|
||||
return false
|
||||
}
|
||||
_ = con.SetReadDeadline(time.Now().Add(time.Second * 5))
|
||||
read, err := ioutil.ReadAll(con)
|
||||
read, err := io.ReadAll(con)
|
||||
|
||||
return err == nil && string(read) == "OK"
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -391,11 +390,11 @@ func (v *MachineVM) Init(opts machine.InitOptions) (bool, error) {
|
||||
// If the user provides an ignition file, we need to
|
||||
// copy it into the conf dir
|
||||
if len(opts.IgnitionPath) > 0 {
|
||||
inputIgnition, err := ioutil.ReadFile(opts.IgnitionPath)
|
||||
inputIgnition, err := os.ReadFile(opts.IgnitionPath)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return false, ioutil.WriteFile(v.getIgnitionFile(), inputIgnition, 0644)
|
||||
return false, os.WriteFile(v.getIgnitionFile(), inputIgnition, 0644)
|
||||
}
|
||||
// Write the ignition file
|
||||
ign := machine.DynamicIgnition{
|
||||
@@ -1109,7 +1108,7 @@ func getVMInfos() ([]*machine.ListResponse, error) {
|
||||
vm := new(MachineVM)
|
||||
if strings.HasSuffix(d.Name(), ".json") {
|
||||
fullPath := filepath.Join(vmConfigDir, d.Name())
|
||||
b, err := ioutil.ReadFile(fullPath)
|
||||
b, err := os.ReadFile(fullPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1539,7 +1538,7 @@ func (v *MachineVM) writeConfig() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ioutil.WriteFile(v.ConfigPath.GetPath(), b, 0644); err != nil {
|
||||
if err := os.WriteFile(v.ConfigPath.GetPath(), b, 0644); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
@@ -10,7 +10,6 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
@@ -423,7 +422,7 @@ func (v *MachineVM) writeConfig() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ioutil.WriteFile(jsonFile, b, 0644); err != nil {
|
||||
if err := os.WriteFile(jsonFile, b, 0644); err != nil {
|
||||
return fmt.Errorf("could not write machine json config: %w", err)
|
||||
}
|
||||
|
||||
@@ -1285,7 +1284,7 @@ func readWinProxyTid(v *MachineVM) (uint32, uint32, string, error) {
|
||||
}
|
||||
|
||||
tidFile := filepath.Join(stateDir, winSshProxyTid)
|
||||
contents, err := ioutil.ReadFile(tidFile)
|
||||
contents, err := os.ReadFile(tidFile)
|
||||
if err != nil {
|
||||
return 0, 0, "", err
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"encoding/base64"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@@ -209,7 +208,7 @@ func reboot() error {
|
||||
return fmt.Errorf("could not create data directory: %w", err)
|
||||
}
|
||||
commFile := filepath.Join(dataDir, "podman-relaunch.dat")
|
||||
if err := ioutil.WriteFile(commFile, []byte(encoded), 0600); err != nil {
|
||||
if err := os.WriteFile(commFile, []byte(encoded), 0600); err != nil {
|
||||
return fmt.Errorf("could not serialize command state: %w", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
gosignal "os/signal"
|
||||
@@ -224,7 +223,7 @@ func GetConfiguredMappings() ([]idtools.IDMap, []idtools.IDMap, error) {
|
||||
}
|
||||
|
||||
func copyMappings(from, to string) error {
|
||||
content, err := ioutil.ReadFile(from)
|
||||
content, err := os.ReadFile(from)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -235,7 +234,7 @@ func copyMappings(from, to string) error {
|
||||
if bytes.Contains(content, []byte("4294967295")) {
|
||||
content = []byte("0 0 1\n1 1 4294967294\n")
|
||||
}
|
||||
return ioutil.WriteFile(to, content, 0600)
|
||||
return os.WriteFile(to, content, 0600)
|
||||
}
|
||||
|
||||
func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ bool, _ int, retErr error) {
|
||||
@@ -343,13 +342,13 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo
|
||||
if !uidsMapped {
|
||||
logrus.Warnf("Using rootless single mapping into the namespace. This might break some images. Check /etc/subuid and /etc/subgid for adding sub*ids if not using a network user")
|
||||
setgroups := fmt.Sprintf("/proc/%d/setgroups", pid)
|
||||
err = ioutil.WriteFile(setgroups, []byte("deny\n"), 0666)
|
||||
err = os.WriteFile(setgroups, []byte("deny\n"), 0666)
|
||||
if err != nil {
|
||||
return false, -1, fmt.Errorf("cannot write setgroups file: %w", err)
|
||||
}
|
||||
logrus.Debugf("write setgroups file exited with 0")
|
||||
|
||||
err = ioutil.WriteFile(uidMap, []byte(fmt.Sprintf("%d %d 1\n", 0, os.Geteuid())), 0666)
|
||||
err = os.WriteFile(uidMap, []byte(fmt.Sprintf("%d %d 1\n", 0, os.Geteuid())), 0666)
|
||||
if err != nil {
|
||||
return false, -1, fmt.Errorf("cannot write uid_map: %w", err)
|
||||
}
|
||||
@@ -369,7 +368,7 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo
|
||||
gidsMapped = err == nil
|
||||
}
|
||||
if !gidsMapped {
|
||||
err = ioutil.WriteFile(gidMap, []byte(fmt.Sprintf("%d %d 1\n", 0, os.Getegid())), 0666)
|
||||
err = os.WriteFile(gidMap, []byte(fmt.Sprintf("%d %d 1\n", 0, os.Getegid())), 0666)
|
||||
if err != nil {
|
||||
return false, -1, fmt.Errorf("cannot write gid_map: %w", err)
|
||||
}
|
||||
@@ -399,7 +398,7 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo
|
||||
// We have lost the race for writing the PID file, as probably another
|
||||
// process created a namespace and wrote the PID.
|
||||
// Try to join it.
|
||||
data, err := ioutil.ReadFile(pausePid)
|
||||
data, err := os.ReadFile(pausePid)
|
||||
if err == nil {
|
||||
var pid uint64
|
||||
pid, err = strconv.ParseUint(string(data), 10, 0)
|
||||
@@ -469,7 +468,7 @@ func TryJoinFromFilePaths(pausePidPath string, needNewNamespace bool, paths []st
|
||||
|
||||
for _, path := range paths {
|
||||
if !needNewNamespace {
|
||||
data, err := ioutil.ReadFile(path)
|
||||
data, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
lastErr = err
|
||||
continue
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
"github.com/containers/common/libimage"
|
||||
goSeccomp "github.com/containers/common/pkg/seccomp"
|
||||
@@ -47,7 +47,7 @@ func getSeccompConfig(s *specgen.SpecGenerator, configSpec *spec.Spec, img *libi
|
||||
|
||||
if s.SeccompProfilePath != "" {
|
||||
logrus.Debugf("Loading seccomp profile from %q", s.SeccompProfilePath)
|
||||
seccompProfile, err := ioutil.ReadFile(s.SeccompProfilePath)
|
||||
seccompProfile, err := os.ReadFile(s.SeccompProfilePath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("opening seccomp profile failed: %w", err)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package generate
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
||||
buildahDefine "github.com/containers/buildah/define"
|
||||
@@ -62,7 +61,7 @@ func buildPauseImage(rt *libpod.Runtime, rtConfig *config.Config) (string, error
|
||||
COPY %s /catatonit
|
||||
ENTRYPOINT ["/catatonit", "-P"]`, catatonitPath)
|
||||
|
||||
tmpF, err := ioutil.TempFile("", "pause.containerfile")
|
||||
tmpF, err := os.CreateTemp("", "pause.containerfile")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package generate
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
@@ -180,7 +179,7 @@ func verifyContainerResourcesCgroupV2(s *specgen.SpecGenerator) ([]string, error
|
||||
// If running under the root cgroup try to create or reuse a "probe" cgroup to read memory values
|
||||
own = "podman_probe"
|
||||
_ = os.MkdirAll(filepath.Join("/sys/fs/cgroup", own), 0o755)
|
||||
_ = ioutil.WriteFile("/sys/fs/cgroup/cgroup.subtree_control", []byte("+memory"), 0o644)
|
||||
_ = os.WriteFile("/sys/fs/cgroup/cgroup.subtree_control", []byte("+memory"), 0o644)
|
||||
}
|
||||
|
||||
memoryMax := filepath.Join("/sys/fs/cgroup", own, "memory.max")
|
||||
|
||||
@@ -3,7 +3,6 @@ package specgenutil
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -18,7 +17,7 @@ import (
|
||||
// ReadPodIDFile reads the specified file and returns its content (i.e., first
|
||||
// line).
|
||||
func ReadPodIDFile(path string) (string, error) {
|
||||
content, err := ioutil.ReadFile(path)
|
||||
content, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("reading pod ID file: %w", err)
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"os"
|
||||
"strings"
|
||||
@@ -49,7 +48,7 @@ type NotifyProxy struct {
|
||||
|
||||
// New creates a NotifyProxy. The specified temp directory can be left empty.
|
||||
func New(tmpDir string) (*NotifyProxy, error) {
|
||||
tempFile, err := ioutil.TempFile(tmpDir, "-podman-notify-proxy.sock")
|
||||
tempFile, err := os.CreateTemp(tmpDir, "-podman-notify-proxy.sock")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@@ -72,7 +71,7 @@ type gpgIDReader func(string) []string
|
||||
|
||||
// createTmpFile creates a temp file under dir and writes the content into it
|
||||
func createTmpFile(dir, pattern string, content []byte) (string, error) {
|
||||
tmpfile, err := ioutil.TempFile(dir, pattern)
|
||||
tmpfile, err := os.CreateTemp(dir, pattern)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -133,7 +132,7 @@ func parseUids(colonDelimitKeys []byte) []string {
|
||||
// getPolicy parses policy.json into policyContent.
|
||||
func getPolicy(policyPath string) (policyContent, error) {
|
||||
var policyContentStruct policyContent
|
||||
policyContent, err := ioutil.ReadFile(policyPath)
|
||||
policyContent, err := os.ReadFile(policyPath)
|
||||
if err != nil {
|
||||
return policyContentStruct, fmt.Errorf("unable to read policy file: %w", err)
|
||||
}
|
||||
@@ -207,7 +206,7 @@ func AddPolicyEntries(policyPath string, input AddPolicyEntriesInput) error {
|
||||
|
||||
_, err = os.Stat(policyPath)
|
||||
if !os.IsNotExist(err) {
|
||||
policyContent, err := ioutil.ReadFile(policyPath)
|
||||
policyContent, err := os.ReadFile(policyPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -244,5 +243,5 @@ func AddPolicyEntries(policyPath string, input AddPolicyEntriesInput) error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("setting trust policy: %w", err)
|
||||
}
|
||||
return ioutil.WriteFile(policyPath, data, 0644)
|
||||
return os.WriteFile(policyPath, data, 0644)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package trust
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
@@ -72,7 +71,7 @@ func loadAndMergeConfig(dirPath string) (*registryConfiguration, error) {
|
||||
continue
|
||||
}
|
||||
configPath := filepath.Join(dirPath, configName)
|
||||
configBytes, err := ioutil.ReadFile(configPath)
|
||||
configBytes, err := os.ReadFile(configPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user