mirror of
https://github.com/containers/podman.git
synced 2025-12-01 02:27:13 +08:00
vendor: update c/{buildah,common,image,storage}
Update to latest main to see if everything passes in preparation for the first 5.3 release candidate. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
2
vendor/github.com/containers/buildah/.cirrus.yml
generated
vendored
2
vendor/github.com/containers/buildah/.cirrus.yml
generated
vendored
@@ -32,7 +32,7 @@ env:
|
||||
DEBIAN_NAME: "debian-13"
|
||||
|
||||
# Image identifiers
|
||||
IMAGE_SUFFIX: "c20240826t190000z-f40f39d13"
|
||||
IMAGE_SUFFIX: "c20241010t105554z-f40f39d13"
|
||||
FEDORA_CACHE_IMAGE_NAME: "fedora-${IMAGE_SUFFIX}"
|
||||
PRIOR_FEDORA_CACHE_IMAGE_NAME: "prior-fedora-${IMAGE_SUFFIX}"
|
||||
DEBIAN_CACHE_IMAGE_NAME: "debian-${IMAGE_SUFFIX}"
|
||||
|
||||
1
vendor/github.com/containers/buildah/.packit.yaml
generated
vendored
1
vendor/github.com/containers/buildah/.packit.yaml
generated
vendored
@@ -103,6 +103,7 @@ jobs:
|
||||
# Fedora Koji build
|
||||
- job: koji_build
|
||||
trigger: commit
|
||||
packages: [buildah-fedora]
|
||||
sidetag_group: podman-releases
|
||||
# Dependents are not rpm dependencies, but the package whose bodhi update
|
||||
# should include this package.
|
||||
|
||||
17
vendor/github.com/containers/buildah/OWNERS
generated
vendored
17
vendor/github.com/containers/buildah/OWNERS
generated
vendored
@@ -1,28 +1,15 @@
|
||||
approvers:
|
||||
- TomSweeneyRedHat
|
||||
- ashley-cui
|
||||
- cevich
|
||||
- flouthoc
|
||||
- giuseppe
|
||||
- lsm5
|
||||
- nalind
|
||||
- rhatdan
|
||||
- umohnani8
|
||||
- vrothberg
|
||||
reviewers:
|
||||
- QiWang19
|
||||
- TomSweeneyRedHat
|
||||
- ashley-cui
|
||||
- baude
|
||||
- cevich
|
||||
- edsantiago
|
||||
- flouthoc
|
||||
- giuseppe
|
||||
- haircommander
|
||||
- jwhonce
|
||||
- lsm5
|
||||
- Honny1
|
||||
- mheon
|
||||
- mrunalp
|
||||
- nalind
|
||||
- rhatdan
|
||||
- umohnani8
|
||||
- vrothberg
|
||||
|
||||
15
vendor/github.com/containers/buildah/imagebuildah/stage_executor.go
generated
vendored
15
vendor/github.com/containers/buildah/imagebuildah/stage_executor.go
generated
vendored
@@ -373,10 +373,7 @@ func (s *StageExecutor) Copy(excludes []string, copies ...imagebuilder.Copy) err
|
||||
return errors.New("COPY --parents is not supported")
|
||||
}
|
||||
if len(cp.Excludes) > 0 {
|
||||
if cp.Download {
|
||||
return errors.New("ADD --excludes is not supported")
|
||||
}
|
||||
return errors.New("COPY --excludes is not supported")
|
||||
excludes = append(slices.Clone(excludes), cp.Excludes...)
|
||||
}
|
||||
}
|
||||
s.builder.ContentDigester.Restart()
|
||||
@@ -1325,12 +1322,12 @@ func (s *StageExecutor) Execute(ctx context.Context, base string) (imgID string,
|
||||
// Also check the chmod and the chown flags for validity.
|
||||
for _, flag := range step.Flags {
|
||||
command := strings.ToUpper(step.Command)
|
||||
// chmod, chown and from flags should have an '=' sign, '--chmod=', '--chown=' or '--from='
|
||||
if command == "COPY" && (flag == "--chmod" || flag == "--chown" || flag == "--from") {
|
||||
return "", nil, false, fmt.Errorf("COPY only supports the --chmod=<permissions> --chown=<uid:gid> and the --from=<image|stage> flags")
|
||||
// chmod, chown and from flags should have an '=' sign, '--chmod=', '--chown=' or '--from=' or '--exclude='
|
||||
if command == "COPY" && (flag == "--chmod" || flag == "--chown" || flag == "--from" || flag == "--exclude") {
|
||||
return "", nil, false, fmt.Errorf("COPY only supports the --chmod=<permissions> --chown=<uid:gid> --from=<image|stage> and the --exclude=<pattern> flags")
|
||||
}
|
||||
if command == "ADD" && (flag == "--chmod" || flag == "--chown" || flag == "--checksum") {
|
||||
return "", nil, false, fmt.Errorf("ADD only supports the --chmod=<permissions>, --chown=<uid:gid>, and --checksum=<checksum> flags")
|
||||
if command == "ADD" && (flag == "--chmod" || flag == "--chown" || flag == "--checksum" || flag == "--exclude") {
|
||||
return "", nil, false, fmt.Errorf("ADD only supports the --chmod=<permissions>, --chown=<uid:gid>, and --checksum=<checksum> --exclude=<pattern> flags")
|
||||
}
|
||||
if strings.Contains(flag, "--from") && command == "COPY" {
|
||||
arr := strings.Split(flag, "=")
|
||||
|
||||
19
vendor/github.com/containers/buildah/internal/volumes/volumes.go
generated
vendored
19
vendor/github.com/containers/buildah/internal/volumes/volumes.go
generated
vendored
@@ -22,6 +22,7 @@ import (
|
||||
"github.com/containers/storage/pkg/idtools"
|
||||
"github.com/containers/storage/pkg/lockfile"
|
||||
"github.com/containers/storage/pkg/unshare"
|
||||
digest "github.com/opencontainers/go-digest"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
selinux "github.com/opencontainers/selinux/go-selinux"
|
||||
)
|
||||
@@ -374,7 +375,11 @@ func GetCacheMount(args []string, _ storage.Store, _ string, additionalMountPoin
|
||||
return newMount, nil, fmt.Errorf("no stage found with name %s", fromStage)
|
||||
}
|
||||
// path should be /contextDir/specified path
|
||||
newMount.Source = filepath.Join(mountPoint, filepath.Clean(string(filepath.Separator)+newMount.Source))
|
||||
evaluated, err := copier.Eval(mountPoint, string(filepath.Separator)+newMount.Source, copier.EvalOptions{})
|
||||
if err != nil {
|
||||
return newMount, nil, err
|
||||
}
|
||||
newMount.Source = evaluated
|
||||
} else {
|
||||
// we need to create the cache directory on the host if no image is being used
|
||||
|
||||
@@ -391,11 +396,15 @@ func GetCacheMount(args []string, _ storage.Store, _ string, additionalMountPoin
|
||||
}
|
||||
|
||||
if id != "" {
|
||||
newMount.Source = filepath.Join(cacheParent, filepath.Clean(id))
|
||||
buildahLockFilesDir = filepath.Join(BuildahCacheLockfileDir, filepath.Clean(id))
|
||||
// Don't let the user control where we place the directory.
|
||||
dirID := digest.FromString(id).Encoded()[:16]
|
||||
newMount.Source = filepath.Join(cacheParent, dirID)
|
||||
buildahLockFilesDir = filepath.Join(BuildahCacheLockfileDir, dirID)
|
||||
} else {
|
||||
newMount.Source = filepath.Join(cacheParent, filepath.Clean(newMount.Destination))
|
||||
buildahLockFilesDir = filepath.Join(BuildahCacheLockfileDir, filepath.Clean(newMount.Destination))
|
||||
// Don't let the user control where we place the directory.
|
||||
dirID := digest.FromString(newMount.Destination).Encoded()[:16]
|
||||
newMount.Source = filepath.Join(cacheParent, dirID)
|
||||
buildahLockFilesDir = filepath.Join(BuildahCacheLockfileDir, dirID)
|
||||
}
|
||||
idPair := idtools.IDPair{
|
||||
UID: uid,
|
||||
|
||||
8
vendor/github.com/containers/buildah/pkg/parse/parse.go
generated
vendored
8
vendor/github.com/containers/buildah/pkg/parse/parse.go
generated
vendored
@@ -57,6 +57,8 @@ const (
|
||||
BuildahCacheDir = "buildah-cache"
|
||||
)
|
||||
|
||||
var errInvalidSecretSyntax = errors.New("incorrect secret flag format: should be --secret id=foo,src=bar[,env=ENV][,type=file|env]")
|
||||
|
||||
// RepoNamesToNamedReferences parse the raw string to Named reference
|
||||
func RepoNamesToNamedReferences(destList []string) ([]reference.Named, error) {
|
||||
var result []reference.Named
|
||||
@@ -1240,7 +1242,6 @@ func GetTempDir() string {
|
||||
|
||||
// Secrets parses the --secret flag
|
||||
func Secrets(secrets []string) (map[string]define.Secret, error) {
|
||||
invalidSyntax := fmt.Errorf("incorrect secret flag format: should be --secret id=foo,src=bar[,env=ENV,type=file|env]")
|
||||
parsed := make(map[string]define.Secret)
|
||||
for _, secret := range secrets {
|
||||
tokens := strings.Split(secret, ",")
|
||||
@@ -1260,10 +1261,12 @@ func Secrets(secrets []string) (map[string]define.Secret, error) {
|
||||
return nil, errors.New("invalid secret type, must be file or env")
|
||||
}
|
||||
typ = kv[1]
|
||||
default:
|
||||
return nil, errInvalidSecretSyntax
|
||||
}
|
||||
}
|
||||
if id == "" {
|
||||
return nil, invalidSyntax
|
||||
return nil, errInvalidSecretSyntax
|
||||
}
|
||||
if src == "" {
|
||||
src = id
|
||||
@@ -1288,6 +1291,7 @@ func Secrets(secrets []string) (map[string]define.Secret, error) {
|
||||
src = fullPath
|
||||
}
|
||||
newSecret := define.Secret{
|
||||
ID: id,
|
||||
Source: src,
|
||||
SourceType: typ,
|
||||
}
|
||||
|
||||
13
vendor/github.com/containers/buildah/run_common.go
generated
vendored
13
vendor/github.com/containers/buildah/run_common.go
generated
vendored
@@ -26,6 +26,7 @@ import (
|
||||
"github.com/containers/buildah/copier"
|
||||
"github.com/containers/buildah/define"
|
||||
"github.com/containers/buildah/internal"
|
||||
"github.com/containers/buildah/internal/tmpdir"
|
||||
internalUtil "github.com/containers/buildah/internal/util"
|
||||
"github.com/containers/buildah/internal/volumes"
|
||||
"github.com/containers/buildah/pkg/overlay"
|
||||
@@ -1735,7 +1736,7 @@ func (b *Builder) getSecretMount(tokens []string, secrets map[string]define.Secr
|
||||
if id == "" {
|
||||
return nil, "", errInvalidSyntax
|
||||
}
|
||||
// Default location for secretis is /run/secrets/id
|
||||
// Default location for secrets is /run/secrets/id
|
||||
if target == "" {
|
||||
target = "/run/secrets/" + id
|
||||
}
|
||||
@@ -1743,7 +1744,7 @@ func (b *Builder) getSecretMount(tokens []string, secrets map[string]define.Secr
|
||||
secr, ok := secrets[id]
|
||||
if !ok {
|
||||
if required {
|
||||
return nil, "", fmt.Errorf("secret required but no secret with id %s found", id)
|
||||
return nil, "", fmt.Errorf("secret required but no secret with id %q found", id)
|
||||
}
|
||||
return nil, "", nil
|
||||
}
|
||||
@@ -1754,7 +1755,7 @@ func (b *Builder) getSecretMount(tokens []string, secrets map[string]define.Secr
|
||||
switch secr.SourceType {
|
||||
case "env":
|
||||
data = []byte(os.Getenv(secr.Source))
|
||||
tmpFile, err := os.CreateTemp(define.TempDir, "buildah*")
|
||||
tmpFile, err := os.CreateTemp(tmpdir.GetTempDir(), "buildah*")
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
@@ -1774,7 +1775,7 @@ func (b *Builder) getSecretMount(tokens []string, secrets map[string]define.Secr
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
ctrFileOnHost = filepath.Join(containerWorkingDir, "secrets", id)
|
||||
ctrFileOnHost = filepath.Join(containerWorkingDir, "secrets", digest.FromString(id).Encoded()[:16])
|
||||
default:
|
||||
return nil, "", errors.New("invalid source secret type")
|
||||
}
|
||||
@@ -1818,7 +1819,7 @@ func (b *Builder) getSSHMount(tokens []string, count int, sshsources map[string]
|
||||
var id, target string
|
||||
var required bool
|
||||
var uid, gid uint32
|
||||
var mode uint32 = 400
|
||||
var mode uint32 = 0o600
|
||||
for _, val := range tokens {
|
||||
kv := strings.SplitN(val, "=", 2)
|
||||
if len(kv) < 2 {
|
||||
@@ -1863,7 +1864,7 @@ func (b *Builder) getSSHMount(tokens []string, count int, sshsources map[string]
|
||||
if id == "" {
|
||||
id = "default"
|
||||
}
|
||||
// Default location for secretis is /run/buildkit/ssh_agent.{i}
|
||||
// Default location for secrets is /run/buildkit/ssh_agent.{i}
|
||||
if target == "" {
|
||||
target = fmt.Sprintf("/run/buildkit/ssh_agent.%d", count)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user