mirror of
https://github.com/containers/podman.git
synced 2025-12-01 02:27:13 +08:00
refine dangling checks
By proxy by vendoring containers/common. Previously, a "dangling" image was an untagged image; just a described in the Docker docs. The definition of dangling has now been refined to an untagged image without children to be compatible with Docker. Further update a redundant image-prune test. Fixes: #10998 Fixes: #10832 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
15
vendor/github.com/containers/buildah/chroot/run.go
generated
vendored
15
vendor/github.com/containers/buildah/chroot/run.go
generated
vendored
@@ -161,7 +161,7 @@ func RunUsingChroot(spec *specs.Spec, bundlePath, homeDir string, stdin io.Reade
|
||||
cmd := unshare.Command(runUsingChrootCommand)
|
||||
cmd.Stdin, cmd.Stdout, cmd.Stderr = stdin, stdout, stderr
|
||||
cmd.Dir = "/"
|
||||
cmd.Env = append([]string{fmt.Sprintf("LOGLEVEL=%d", logrus.GetLevel())}, os.Environ()...)
|
||||
cmd.Env = []string{fmt.Sprintf("LOGLEVEL=%d", logrus.GetLevel())}
|
||||
|
||||
logrus.Debugf("Running %#v in %#v", cmd.Cmd, cmd)
|
||||
confwg.Add(1)
|
||||
@@ -207,7 +207,7 @@ func runUsingChrootMain() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if options.Spec == nil {
|
||||
if options.Spec == nil || options.Spec.Process == nil {
|
||||
fmt.Fprintf(os.Stderr, "invalid options spec in runUsingChrootMain\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
@@ -573,7 +573,7 @@ func runUsingChroot(spec *specs.Spec, bundlePath string, ctty *os.File, stdin io
|
||||
cmd := unshare.Command(append([]string{runUsingChrootExecCommand}, spec.Process.Args...)...)
|
||||
cmd.Stdin, cmd.Stdout, cmd.Stderr = stdin, stdout, stderr
|
||||
cmd.Dir = "/"
|
||||
cmd.Env = append([]string{fmt.Sprintf("LOGLEVEL=%d", logrus.GetLevel())}, os.Environ()...)
|
||||
cmd.Env = []string{fmt.Sprintf("LOGLEVEL=%d", logrus.GetLevel())}
|
||||
cmd.UnshareFlags = syscall.CLONE_NEWUTS | syscall.CLONE_NEWNS
|
||||
requestedUserNS := false
|
||||
for _, ns := range spec.Linux.Namespaces {
|
||||
@@ -663,7 +663,7 @@ func runUsingChrootExecMain() {
|
||||
// Set the hostname. We're already in a distinct UTS namespace and are admins in the user
|
||||
// namespace which created it, so we shouldn't get a permissions error, but seccomp policy
|
||||
// might deny our attempt to call sethostname() anyway, so log a debug message for that.
|
||||
if options.Spec == nil {
|
||||
if options.Spec == nil || options.Spec.Process == nil {
|
||||
fmt.Fprintf(os.Stderr, "invalid options spec passed in\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
@@ -819,7 +819,6 @@ func runUsingChrootExecMain() {
|
||||
// Output debug messages when that differs from what we're being asked to do.
|
||||
func logNamespaceDiagnostics(spec *specs.Spec) {
|
||||
sawMountNS := false
|
||||
sawUserNS := false
|
||||
sawUTSNS := false
|
||||
for _, ns := range spec.Linux.Namespaces {
|
||||
switch ns.Type {
|
||||
@@ -854,9 +853,8 @@ func logNamespaceDiagnostics(spec *specs.Spec) {
|
||||
}
|
||||
case specs.UserNamespace:
|
||||
if ns.Path != "" {
|
||||
logrus.Debugf("unable to join user namespace %q, creating a new one", ns.Path)
|
||||
logrus.Debugf("unable to join user namespace, sorry about that")
|
||||
}
|
||||
sawUserNS = true
|
||||
case specs.UTSNamespace:
|
||||
if ns.Path != "" {
|
||||
logrus.Debugf("unable to join UTS namespace %q, creating a new one", ns.Path)
|
||||
@@ -867,9 +865,6 @@ func logNamespaceDiagnostics(spec *specs.Spec) {
|
||||
if !sawMountNS {
|
||||
logrus.Debugf("mount namespace not requested, but creating a new one anyway")
|
||||
}
|
||||
if !sawUserNS {
|
||||
logrus.Debugf("user namespace not requested, but creating a new one anyway")
|
||||
}
|
||||
if !sawUTSNS {
|
||||
logrus.Debugf("UTS namespace not requested, but creating a new one anyway")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user