From e43127e0b423759dc19970577a7d11c17c897679 Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Sun, 9 Jul 2023 10:47:11 +0100 Subject: [PATCH] pkg/specgen: fix support for --rootfs on FreeBSD When using 'podman run --rootfs ...', the image passed to SpecGenToOCI may be nil - in this case, fall back to "freebsd" for the container OS. [NO NEW TESTS NEEDED] Signed-off-by: Doug Rabson --- pkg/specgen/generate/oci_freebsd.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/specgen/generate/oci_freebsd.go b/pkg/specgen/generate/oci_freebsd.go index 9d1c266214..9054785c1a 100644 --- a/pkg/specgen/generate/oci_freebsd.go +++ b/pkg/specgen/generate/oci_freebsd.go @@ -18,11 +18,16 @@ import ( // SpecGenToOCI returns the base configuration for the container. func SpecGenToOCI(ctx context.Context, s *specgen.SpecGenerator, rt *libpod.Runtime, rtc *config.Config, newImage *libimage.Image, mounts []spec.Mount, pod *libpod.Pod, finalCmd []string, compatibleOptions *libpod.InfraInherit) (*spec.Spec, error) { - inspectData, err := newImage.Inspect(ctx, nil) - if err != nil { - return nil, err + var imageOs string + if newImage != nil { + inspectData, err := newImage.Inspect(ctx, nil) + if err != nil { + return nil, err + } + imageOs = inspectData.Os + } else { + imageOs = "freebsd" } - imageOs := inspectData.Os if imageOs != "freebsd" && imageOs != "linux" { return nil, fmt.Errorf("unsupported image OS: %s", imageOs)