diff --git a/pkg/distro/distro_test.go b/pkg/distro/distro_test.go index 772685d6e7..631810f944 100644 --- a/pkg/distro/distro_test.go +++ b/pkg/distro/distro_test.go @@ -150,8 +150,10 @@ func TestImageTypePipelineNames(t *testing.T) { } packageSets := make(map[string][]rpmmd.PackageSpec, len(allPipelines)) + repoSets := make(map[string][]rpmmd.RepoConfig, len(allPipelines)) for _, plName := range allPipelines { packageSets[plName] = minimalPackageSet + repoSets[plName] = repos } m, _, err := imageType.Manifest(&bp, options, repos, seed) @@ -172,7 +174,7 @@ func TestImageTypePipelineNames(t *testing.T) { } commits[name] = commitSpecs } - mf, err := m.Serialize(packageSets, containers, commits) + mf, err := m.Serialize(packageSets, containers, commits, repoSets) assert.NoError(err) pm := new(manifest) err = json.Unmarshal(mf, pm) diff --git a/pkg/image/bootc_disk_test.go b/pkg/image/bootc_disk_test.go index 9301d17556..5eec2737f2 100644 --- a/pkg/image/bootc_disk_test.go +++ b/pkg/image/bootc_disk_test.go @@ -81,7 +81,7 @@ func makeBootcDiskImageOsbuildManifest(t *testing.T, opts *bootcDiskImageTestOpt "image": []container.Spec{{Source: "other-src", Digest: makeFakeDigest(t), ImageID: makeFakeDigest(t)}}, } - osbuildManifest, err := m.Serialize(nil, fakeSourceSpecs, nil) + osbuildManifest, err := m.Serialize(nil, fakeSourceSpecs, nil, nil) require.Nil(t, err) return osbuildManifest diff --git a/pkg/manifest/anaconda_installer.go b/pkg/manifest/anaconda_installer.go index 8342316f1f..204fdf571f 100644 --- a/pkg/manifest/anaconda_installer.go +++ b/pkg/manifest/anaconda_installer.go @@ -174,7 +174,7 @@ func (p *AnacondaInstaller) getPackageSpecs() []rpmmd.PackageSpec { return p.packageSpecs } -func (p *AnacondaInstaller) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec) { +func (p *AnacondaInstaller) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec, rpmRepos []rpmmd.RepoConfig) { if len(p.packageSpecs) > 0 { panic("double call to serializeStart()") } @@ -182,6 +182,7 @@ func (p *AnacondaInstaller) serializeStart(packages []rpmmd.PackageSpec, _ []con if p.kernelName != "" { p.kernelVer = rpmmd.GetVerStrFromPackageSpecListPanic(p.packageSpecs, p.kernelName) } + p.repos = append(p.repos, rpmRepos...) } func (p *AnacondaInstaller) serializeEnd() { diff --git a/pkg/manifest/anaconda_installer_iso_tree.go b/pkg/manifest/anaconda_installer_iso_tree.go index ccd3f390bf..2d6f53cb86 100644 --- a/pkg/manifest/anaconda_installer_iso_tree.go +++ b/pkg/manifest/anaconda_installer_iso_tree.go @@ -156,7 +156,7 @@ func (p *AnacondaInstallerISOTree) getBuildPackages(_ Distro) []string { return packages } -func (p *AnacondaInstallerISOTree) serializeStart(_ []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec) { +func (p *AnacondaInstallerISOTree) serializeStart(_ []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec, _ []rpmmd.RepoConfig) { if p.ostreeCommitSpec != nil || p.containerSpec != nil { panic("double call to serializeStart()") } diff --git a/pkg/manifest/anaconda_installer_iso_tree_test.go b/pkg/manifest/anaconda_installer_iso_tree_test.go index 6bebc43489..8d4055a12c 100644 --- a/pkg/manifest/anaconda_installer_iso_tree_test.go +++ b/pkg/manifest/anaconda_installer_iso_tree_test.go @@ -192,11 +192,11 @@ func TestAnacondaISOTreePayloadsBad(t *testing.T) { assert.PanicsWithValue( "pipeline supports at most one ostree commit", - func() { pipeline.serializeStart(nil, nil, make([]ostree.CommitSpec, 2)) }, + func() { pipeline.serializeStart(nil, nil, make([]ostree.CommitSpec, 2), nil) }, ) assert.PanicsWithValue( "pipeline supports at most one container", - func() { pipeline.serializeStart(nil, make([]container.Spec, 2), nil) }, + func() { pipeline.serializeStart(nil, make([]container.Spec, 2), nil, nil) }, ) } @@ -216,7 +216,7 @@ func TestAnacondaISOTreeSerializeWithOS(t *testing.T) { t.Run("plain", func(t *testing.T) { pipeline := newTestAnacondaISOTree() pipeline.OSPipeline = osPayload - pipeline.serializeStart(nil, nil, nil) + pipeline.serializeStart(nil, nil, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, payloadStages, @@ -229,7 +229,7 @@ func TestAnacondaISOTreeSerializeWithOS(t *testing.T) { pipeline := newTestAnacondaISOTree() pipeline.OSPipeline = osPayload pipeline.KSPath = testKsPath - pipeline.serializeStart(nil, nil, nil) + pipeline.serializeStart(nil, nil, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.kickstart"), @@ -242,7 +242,7 @@ func TestAnacondaISOTreeSerializeWithOS(t *testing.T) { pipeline.OSPipeline = osPayload pipeline.KSPath = testKsPath pipeline.ISOLinux = true - pipeline.serializeStart(nil, nil, nil) + pipeline.serializeStart(nil, nil, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux", "org.osbuild.kickstart"), @@ -255,7 +255,7 @@ func TestAnacondaISOTreeSerializeWithOS(t *testing.T) { pipeline.KSPath = testKsPath pipeline.ISOLinux = true pipeline.UnattendedKickstart = true - pipeline.serializeStart(nil, nil, nil) + pipeline.serializeStart(nil, nil, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux", "org.osbuild.kickstart"), @@ -270,7 +270,7 @@ func TestAnacondaISOTreeSerializeWithOS(t *testing.T) { pipeline.ISOLinux = true pipeline.UnattendedKickstart = true pipeline.NoPasswd = []string{`%wheel`, `%sudo`} - pipeline.serializeStart(nil, nil, nil) + pipeline.serializeStart(nil, nil, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux", "org.osbuild.kickstart"), @@ -302,7 +302,7 @@ func TestAnacondaISOTreeSerializeWithOSTree(t *testing.T) { t.Run("plain", func(t *testing.T) { pipeline := newTestAnacondaISOTree() pipeline.KSPath = testKsPath - pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}) + pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, payloadStages, @@ -314,7 +314,7 @@ func TestAnacondaISOTreeSerializeWithOSTree(t *testing.T) { pipeline := newTestAnacondaISOTree() pipeline.KSPath = testKsPath pipeline.ISOLinux = true - pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}) + pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux"), variantStages)) @@ -325,7 +325,7 @@ func TestAnacondaISOTreeSerializeWithOSTree(t *testing.T) { pipeline.KSPath = testKsPath pipeline.ISOLinux = true pipeline.UnattendedKickstart = true - pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}) + pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux"), variantStages)) @@ -338,7 +338,7 @@ func TestAnacondaISOTreeSerializeWithOSTree(t *testing.T) { pipeline.ISOLinux = true pipeline.UnattendedKickstart = true pipeline.NoPasswd = []string{`%wheel`, `%sudo`} - pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}) + pipeline.serializeStart(nil, nil, []ostree.CommitSpec{ostreeCommit}, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux"), variantStages)) @@ -369,7 +369,7 @@ func TestAnacondaISOTreeSerializeWithContainer(t *testing.T) { t.Run("kspath", func(t *testing.T) { pipeline := newTestAnacondaISOTree() pipeline.KSPath = testKsPath - pipeline.serializeStart(nil, []container.Spec{containerPayload}, nil) + pipeline.serializeStart(nil, []container.Spec{containerPayload}, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, payloadStages, @@ -381,7 +381,7 @@ func TestAnacondaISOTreeSerializeWithContainer(t *testing.T) { pipeline := newTestAnacondaISOTree() pipeline.KSPath = testKsPath pipeline.ISOLinux = true - pipeline.serializeStart(nil, []container.Spec{containerPayload}, nil) + pipeline.serializeStart(nil, []container.Spec{containerPayload}, nil, nil) sp := pipeline.serialize() pipeline.serializeEnd() assert.NoError(t, checkISOTreeStages(sp.Stages, append(payloadStages, "org.osbuild.isolinux"), variantStages)) diff --git a/pkg/manifest/build.go b/pkg/manifest/build.go index ef82d47823..eca633d44a 100644 --- a/pkg/manifest/build.go +++ b/pkg/manifest/build.go @@ -99,11 +99,12 @@ func (p *BuildrootFromPackages) getPackageSpecs() []rpmmd.PackageSpec { return p.packageSpecs } -func (p *BuildrootFromPackages) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec) { +func (p *BuildrootFromPackages) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec, rpmRepos []rpmmd.RepoConfig) { if len(p.packageSpecs) > 0 { panic("double call to serializeStart()") } p.packageSpecs = packages + p.repos = append(p.repos, rpmRepos...) } func (p *BuildrootFromPackages) serializeEnd() { @@ -198,7 +199,7 @@ func (p *BuildrootFromContainer) getContainerSpecs() []container.Spec { return p.containerSpecs } -func (p *BuildrootFromContainer) serializeStart(_ []rpmmd.PackageSpec, containerSpecs []container.Spec, _ []ostree.CommitSpec) { +func (p *BuildrootFromContainer) serializeStart(_ []rpmmd.PackageSpec, containerSpecs []container.Spec, _ []ostree.CommitSpec, _ []rpmmd.RepoConfig) { if len(p.containerSpecs) > 0 { panic("double call to serializeStart()") } diff --git a/pkg/manifest/build_test.go b/pkg/manifest/build_test.go index ddfea70054..eb1da5680a 100644 --- a/pkg/manifest/build_test.go +++ b/pkg/manifest/build_test.go @@ -109,7 +109,7 @@ func TestNewBuildFromContainerSpecs(t *testing.T) { } // containerSpecs is "nil" until serializeStart populates it require.Nil(t, build.getContainerSpecs()) - build.serializeStart(nil, fakeContainerSpecs, nil) + build.serializeStart(nil, fakeContainerSpecs, nil, nil) assert.Equal(t, build.getContainerSpecs(), fakeContainerSpecs) osbuildPipeline := build.serialize() diff --git a/pkg/manifest/commit_server_tree.go b/pkg/manifest/commit_server_tree.go index b5233a3c0b..8f9c8669f0 100644 --- a/pkg/manifest/commit_server_tree.go +++ b/pkg/manifest/commit_server_tree.go @@ -80,11 +80,12 @@ func (p *OSTreeCommitServer) getPackageSpecs() []rpmmd.PackageSpec { return p.packageSpecs } -func (p *OSTreeCommitServer) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec) { +func (p *OSTreeCommitServer) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec, rpmRepos []rpmmd.RepoConfig) { if len(p.packageSpecs) > 0 { panic("double call to serializeStart()") } p.packageSpecs = packages + p.repos = append(p.repos, rpmRepos...) } func (p *OSTreeCommitServer) serializeEnd() { diff --git a/pkg/manifest/coreos_installer.go b/pkg/manifest/coreos_installer.go index a38f15aef0..26e208d0f7 100644 --- a/pkg/manifest/coreos_installer.go +++ b/pkg/manifest/coreos_installer.go @@ -136,7 +136,7 @@ func (p *CoreOSInstaller) getPackageSpecs() []rpmmd.PackageSpec { return p.packageSpecs } -func (p *CoreOSInstaller) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec) { +func (p *CoreOSInstaller) serializeStart(packages []rpmmd.PackageSpec, _ []container.Spec, _ []ostree.CommitSpec, rpmRepos []rpmmd.RepoConfig) { if len(p.packageSpecs) > 0 { panic("double call to serializeStart()") } @@ -144,6 +144,7 @@ func (p *CoreOSInstaller) serializeStart(packages []rpmmd.PackageSpec, _ []conta if p.kernelName != "" { p.kernelVer = rpmmd.GetVerStrFromPackageSpecListPanic(p.packageSpecs, p.kernelName) } + p.repos = append(p.repos, rpmRepos...) } func (p *CoreOSInstaller) getInline() []string { diff --git a/pkg/manifest/empty.go b/pkg/manifest/empty.go index 8338e9d039..05c60cb4e1 100644 --- a/pkg/manifest/empty.go +++ b/pkg/manifest/empty.go @@ -22,6 +22,8 @@ type ContentTest struct { containerSpecs []container.Spec commitSpecs []ostree.CommitSpec + repos []rpmmd.RepoConfig + // serialization flag serializing bool } @@ -63,13 +65,14 @@ func (p *ContentTest) getOSTreeCommits() []ostree.CommitSpec { return p.commitSpecs } -func (p *ContentTest) serializeStart(pkgs []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec) { +func (p *ContentTest) serializeStart(pkgs []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec, rpmRepos []rpmmd.RepoConfig) { if p.serializing { panic("double call to serializeStart()") } p.packageSpecs = pkgs p.containerSpecs = containers p.commitSpecs = commits + p.repos = rpmRepos p.serializing = true } diff --git a/pkg/manifest/manifest.go b/pkg/manifest/manifest.go index 5a1f508a79..1ae10c5a0f 100644 --- a/pkg/manifest/manifest.go +++ b/pkg/manifest/manifest.go @@ -138,14 +138,14 @@ func (m Manifest) GetOSTreeSourceSpecs() map[string][]ostree.SourceSpec { return ostreeSpecs } -func (m Manifest) Serialize(packageSets map[string][]rpmmd.PackageSpec, containerSpecs map[string][]container.Spec, ostreeCommits map[string][]ostree.CommitSpec) (OSBuildManifest, error) { +func (m Manifest) Serialize(packageSets map[string][]rpmmd.PackageSpec, containerSpecs map[string][]container.Spec, ostreeCommits map[string][]ostree.CommitSpec, rpmRepos map[string][]rpmmd.RepoConfig) (OSBuildManifest, error) { pipelines := make([]osbuild.Pipeline, 0) packages := make([]rpmmd.PackageSpec, 0) commits := make([]ostree.CommitSpec, 0) inline := make([]string, 0) containers := make([]container.Spec, 0) for _, pipeline := range m.pipelines { - pipeline.serializeStart(packageSets[pipeline.Name()], containerSpecs[pipeline.Name()], ostreeCommits[pipeline.Name()]) + pipeline.serializeStart(packageSets[pipeline.Name()], containerSpecs[pipeline.Name()], ostreeCommits[pipeline.Name()], rpmRepos[pipeline.Name()]) } for _, pipeline := range m.pipelines { commits = append(commits, pipeline.getOSTreeCommits()...) diff --git a/pkg/manifest/os.go b/pkg/manifest/os.go index b605abbb39..52f1549553 100644 --- a/pkg/manifest/os.go +++ b/pkg/manifest/os.go @@ -338,7 +338,7 @@ func (p *OS) getContainerSpecs() []container.Spec { return p.containerSpecs } -func (p *OS) serializeStart(packages []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec) { +func (p *OS) serializeStart(packages []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec, rpmRepos []rpmmd.RepoConfig) { if len(p.packageSpecs) > 0 { panic("double call to serializeStart()") } @@ -355,6 +355,8 @@ func (p *OS) serializeStart(packages []rpmmd.PackageSpec, containers []container if p.KernelName != "" { p.kernelVer = rpmmd.GetVerStrFromPackageSpecListPanic(p.packageSpecs, p.KernelName) } + + p.repos = append(p.repos, rpmRepos...) } func (p *OS) serializeEnd() { diff --git a/pkg/manifest/os_test.go b/pkg/manifest/os_test.go index 87924a5e70..c6bd63e1cb 100644 --- a/pkg/manifest/os_test.go +++ b/pkg/manifest/os_test.go @@ -30,7 +30,7 @@ func NewTestOS() *OS { packages := []rpmmd.PackageSpec{ {Name: "pkg1", Checksum: "sha1:c02524e2bd19490f2a7167958f792262754c5f46"}, } - os.serializeStart(packages, nil, nil) + os.serializeStart(packages, nil, nil, repos) return os } diff --git a/pkg/manifest/ostree_deployment.go b/pkg/manifest/ostree_deployment.go index 40dbef5efa..a7518aa97a 100644 --- a/pkg/manifest/ostree_deployment.go +++ b/pkg/manifest/ostree_deployment.go @@ -161,7 +161,7 @@ func (p *OSTreeDeployment) getContainerSources() []container.SourceSpec { } } -func (p *OSTreeDeployment) serializeStart(packages []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec) { +func (p *OSTreeDeployment) serializeStart(_ []rpmmd.PackageSpec, containers []container.Spec, commits []ostree.CommitSpec, _ []rpmmd.RepoConfig) { if p.ostreeSpec != nil || p.containerSpec != nil { panic("double call to serializeStart()") } diff --git a/pkg/manifest/pipeline.go b/pkg/manifest/pipeline.go index ed1d67e79b..a9325693e6 100644 --- a/pkg/manifest/pipeline.go +++ b/pkg/manifest/pipeline.go @@ -53,7 +53,7 @@ type Pipeline interface { // its full Spec. See the ostree package for more details. getOSTreeCommitSources() []ostree.SourceSpec - serializeStart([]rpmmd.PackageSpec, []container.Spec, []ostree.CommitSpec) + serializeStart([]rpmmd.PackageSpec, []container.Spec, []ostree.CommitSpec, []rpmmd.RepoConfig) serializeEnd() serialize() osbuild.Pipeline @@ -166,7 +166,7 @@ func NewBase(name string, build Build) Base { // serializeStart must be called exactly once before each call // to serialize(). -func (p Base) serializeStart([]rpmmd.PackageSpec, []container.Spec, []ostree.CommitSpec) { +func (p Base) serializeStart([]rpmmd.PackageSpec, []container.Spec, []ostree.CommitSpec, []rpmmd.RepoConfig) { } // serializeEnd must be called exactly once after each call to diff --git a/pkg/manifest/raw_bootc.go b/pkg/manifest/raw_bootc.go index dfe4c2da75..1f9c93d823 100644 --- a/pkg/manifest/raw_bootc.go +++ b/pkg/manifest/raw_bootc.go @@ -66,7 +66,7 @@ func (p *RawBootcImage) getContainerSpecs() []container.Spec { return p.containerSpecs } -func (p *RawBootcImage) serializeStart(_ []rpmmd.PackageSpec, containerSpecs []container.Spec, _ []ostree.CommitSpec) { +func (p *RawBootcImage) serializeStart(_ []rpmmd.PackageSpec, containerSpecs []container.Spec, _ []ostree.CommitSpec, _ []rpmmd.RepoConfig) { if len(p.containerSpecs) > 0 { panic("double call to serializeStart()") } diff --git a/pkg/manifest/raw_bootc_export_test.go b/pkg/manifest/raw_bootc_export_test.go index 450bedd34d..2e87203c8a 100644 --- a/pkg/manifest/raw_bootc_export_test.go +++ b/pkg/manifest/raw_bootc_export_test.go @@ -15,6 +15,6 @@ func (rbc *RawBootcImage) Serialize() osbuild.Pipeline { return rbc.serialize() } -func (rbc *RawBootcImage) SerializeStart(a []rpmmd.PackageSpec, b []container.Spec, c []ostree.CommitSpec) { - rbc.serializeStart(a, b, c) +func (rbc *RawBootcImage) SerializeStart(a []rpmmd.PackageSpec, b []container.Spec, c []ostree.CommitSpec, r []rpmmd.RepoConfig) { + rbc.serializeStart(a, b, c, r) } diff --git a/pkg/manifest/raw_bootc_test.go b/pkg/manifest/raw_bootc_test.go index d144654ebb..94b94f8abb 100644 --- a/pkg/manifest/raw_bootc_test.go +++ b/pkg/manifest/raw_bootc_test.go @@ -51,7 +51,7 @@ func TestRawBootcImageSerialize(t *testing.T) { rawBootcPipeline.Users = []users.User{{Name: "root", Key: common.ToPtr("some-ssh-key")}} rawBootcPipeline.KernelOptionsAppend = []string{"karg1", "karg2"} - rawBootcPipeline.SerializeStart(nil, []container.Spec{{Source: "foo"}}, nil) + rawBootcPipeline.SerializeStart(nil, []container.Spec{{Source: "foo"}}, nil, nil) imagePipeline := rawBootcPipeline.Serialize() assert.Equal(t, "image", imagePipeline.Name) @@ -70,7 +70,7 @@ func TestRawBootcImageSerializeMountsValidated(t *testing.T) { rawBootcPipeline := manifest.NewRawBootcImage(build, nil, nil) // note that we create a partition table without /boot here rawBootcPipeline.PartitionTable = testdisk.MakeFakePartitionTable("/", "/missing-boot") - rawBootcPipeline.SerializeStart(nil, []container.Spec{{Source: "foo"}}, nil) + rawBootcPipeline.SerializeStart(nil, []container.Spec{{Source: "foo"}}, nil, nil) assert.PanicsWithError(t, `required mounts for bootupd stage [/boot /boot/efi] missing`, func() { rawBootcPipeline.Serialize() }) @@ -83,7 +83,7 @@ func TestRawBootcImageSerializeValidatesUsers(t *testing.T) { rawBootcPipeline := manifest.NewRawBootcImage(build, nil, nil) rawBootcPipeline.PartitionTable = testdisk.MakeFakePartitionTable("/", "/boot", "/boot/efi") - rawBootcPipeline.SerializeStart(nil, []container.Spec{{Source: "foo"}}, nil) + rawBootcPipeline.SerializeStart(nil, []container.Spec{{Source: "foo"}}, nil, nil) for _, tc := range []struct { users []users.User