diff --git a/cmd/osbuild-pipeline/main.go b/cmd/osbuild-pipeline/main.go index 87904d9ae..512f63ca2 100644 --- a/cmd/osbuild-pipeline/main.go +++ b/cmd/osbuild-pipeline/main.go @@ -139,7 +139,7 @@ func main() { } } else { size := d.GetSizeForOutputType(imageType, 0) - manifest, err := d.Manifest(blueprint, nil, packageSpecs, buildPackageSpecs, checksums, archArg, imageType, size) + manifest, err := d.Manifest(blueprint, nil, packageSpecs, buildPackageSpecs, archArg, imageType, size) if err != nil { panic(err.Error()) } diff --git a/internal/distro/distro.go b/internal/distro/distro.go index 43fd33b1f..5491c652c 100644 --- a/internal/distro/distro.go +++ b/internal/distro/distro.go @@ -58,7 +58,7 @@ type Distro interface { // Returns an osbuild manifest, containing the sources and pipeline necessary // to generates an image in the given output format with all packages and // customizations specified in the given blueprint. - Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) + Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, imageFormat string, size uint64) (*osbuild.Manifest, error) // Returns a osbuild runner that can be used on this distro. Runner() string diff --git a/internal/distro/distro_test.go b/internal/distro/distro_test.go index 534a6ec1b..1e7c6a663 100644 --- a/internal/distro/distro_test.go +++ b/internal/distro/distro_test.go @@ -29,7 +29,6 @@ func TestDistro_Manifest(t *testing.T) { type rpmMD struct { BuildPackages []rpmmd.PackageSpec `json:"build-packages"` Packages []rpmmd.PackageSpec `json:"packages"` - Checksums map[string]string `json:"checksums"` } var tt struct { ComposeRequest *composeRequest `json:"compose-request"` @@ -63,7 +62,6 @@ func TestDistro_Manifest(t *testing.T) { nil, tt.RpmMD.Packages, tt.RpmMD.BuildPackages, - tt.RpmMD.Checksums, tt.ComposeRequest.Arch, tt.ComposeRequest.OutputFormat, size) diff --git a/internal/distro/fedora30/distro.go b/internal/distro/fedora30/distro.go index 307a3113f..b8ae4ebca 100644 --- a/internal/distro/fedora30/distro.go +++ b/internal/distro/fedora30/distro.go @@ -386,7 +386,7 @@ func (r *Fedora30) BuildPackages(outputArchitecture string) ([]string, error) { return append(r.buildPackages, arch.BuildPackages...), nil } -func (r *Fedora30) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (r *Fedora30) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { output, exists := r.outputs[outputFormat] if !exists { return nil, errors.New("invalid output format: " + outputFormat) @@ -475,8 +475,8 @@ func (r *Fedora30) sources(packages []rpmmd.PackageSpec) *osbuild.Sources { } } -func (r *Fedora30) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *Fedora30) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/distro/fedora31/distro.go b/internal/distro/fedora31/distro.go index d8768c734..d5f83ec4c 100644 --- a/internal/distro/fedora31/distro.go +++ b/internal/distro/fedora31/distro.go @@ -386,7 +386,7 @@ func (r *Fedora31) BuildPackages(outputArchitecture string) ([]string, error) { return append(r.buildPackages, arch.BuildPackages...), nil } -func (r *Fedora31) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (r *Fedora31) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { output, exists := r.outputs[outputFormat] if !exists { return nil, errors.New("invalid output format: " + outputFormat) @@ -475,8 +475,8 @@ func (r *Fedora31) sources(packages []rpmmd.PackageSpec) *osbuild.Sources { } } -func (r *Fedora31) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *Fedora31) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/distro/fedora32/distro.go b/internal/distro/fedora32/distro.go index 2e48fdcb4..c5ddc954a 100644 --- a/internal/distro/fedora32/distro.go +++ b/internal/distro/fedora32/distro.go @@ -386,7 +386,7 @@ func (r *Fedora32) BuildPackages(outputArchitecture string) ([]string, error) { return append(r.buildPackages, arch.BuildPackages...), nil } -func (r *Fedora32) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (r *Fedora32) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { output, exists := r.outputs[outputFormat] if !exists { return nil, errors.New("invalid output format: " + outputFormat) @@ -475,8 +475,8 @@ func (r *Fedora32) sources(packages []rpmmd.PackageSpec) *osbuild.Sources { } } -func (r *Fedora32) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *Fedora32) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/distro/fedoratest/distro.go b/internal/distro/fedoratest/distro.go index d41fc5751..749984108 100644 --- a/internal/distro/fedoratest/distro.go +++ b/internal/distro/fedoratest/distro.go @@ -63,7 +63,7 @@ func (d *FedoraTestDistro) BuildPackages(outputArchitecture string) ([]string, e return nil, nil } -func (d *FedoraTestDistro) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, buildPackages, basePackages []rpmmd.PackageSpec, checksums map[string]string, outputArch, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (d *FedoraTestDistro) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, buildPackages, basePackages []rpmmd.PackageSpec, outputArch, outputFormat string, size uint64) (*osbuild.Pipeline, error) { if outputFormat == "qcow2" && outputArch == "x86_64" { return &osbuild.Pipeline{}, nil } else { @@ -75,8 +75,8 @@ func (r *FedoraTestDistro) sources(packages []rpmmd.PackageSpec) *osbuild.Source return &osbuild.Sources{} } -func (r *FedoraTestDistro) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *FedoraTestDistro) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/distro/rhel81/distro.go b/internal/distro/rhel81/distro.go index 79acbf107..fd3c03cf1 100644 --- a/internal/distro/rhel81/distro.go +++ b/internal/distro/rhel81/distro.go @@ -525,7 +525,7 @@ func (r *RHEL81) BuildPackages(outputArchitecture string) ([]string, error) { return append(r.buildPackages, arch.BuildPackages...), nil } -func (r *RHEL81) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (r *RHEL81) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { output, exists := r.outputs[outputFormat] if !exists { return nil, errors.New("invalid output format: " + outputFormat) @@ -619,8 +619,8 @@ func (r *RHEL81) sources(packages []rpmmd.PackageSpec) *osbuild.Sources { } } -func (r *RHEL81) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *RHEL81) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/distro/rhel82/distro.go b/internal/distro/rhel82/distro.go index fc52b8d4b..170b226d1 100644 --- a/internal/distro/rhel82/distro.go +++ b/internal/distro/rhel82/distro.go @@ -525,7 +525,7 @@ func (r *RHEL82) BuildPackages(outputArchitecture string) ([]string, error) { return append(r.buildPackages, arch.BuildPackages...), nil } -func (r *RHEL82) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (r *RHEL82) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Pipeline, error) { output, exists := r.outputs[outputFormat] if !exists { return nil, errors.New("invalid output format: " + outputFormat) @@ -619,8 +619,8 @@ func (r *RHEL82) sources(packages []rpmmd.PackageSpec) *osbuild.Sources { } } -func (r *RHEL82) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *RHEL82) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/distro/test/distro.go b/internal/distro/test/distro.go index 94b46ce54..0a5b75f27 100644 --- a/internal/distro/test/distro.go +++ b/internal/distro/test/distro.go @@ -55,7 +55,7 @@ func (d *TestDistro) BuildPackages(outputArchitecture string) ([]string, error) return nil, nil } -func (d *TestDistro) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArch, outputFormat string, size uint64) (*osbuild.Pipeline, error) { +func (d *TestDistro) pipeline(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArch, outputFormat string, size uint64) (*osbuild.Pipeline, error) { if outputFormat == "test_output" && outputArch == "test_arch" { return &osbuild.Pipeline{}, nil } @@ -67,8 +67,8 @@ func (d *TestDistro) sources(packages []rpmmd.PackageSpec) *osbuild.Sources { return &osbuild.Sources{} } -func (r *TestDistro) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { - pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size) +func (r *TestDistro) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) { + pipeline, err := r.pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, outputArchitecture, outputFormat, size) if err != nil { return nil, err } diff --git a/internal/jobqueue/api_test.go b/internal/jobqueue/api_test.go index ab7506ff8..5940e6ed4 100644 --- a/internal/jobqueue/api_test.go +++ b/internal/jobqueue/api_test.go @@ -55,7 +55,7 @@ func TestCreate(t *testing.T) { store := store.New(nil, distroStruct, *registry) api := jobqueue.New(nil, store) - err = store.PushCompose(id, &blueprint.Blueprint{}, nil, nil, map[string]string{"test-repo": "test:foo"}, "x86_64", "qcow2", 0, nil) + err = store.PushCompose(id, &blueprint.Blueprint{}, nil, nil, "x86_64", "qcow2", 0, nil) if err != nil { t.Fatalf("error pushing compose: %v", err) } @@ -75,7 +75,7 @@ func testUpdateTransition(t *testing.T, from, to string, expectedStatus int, exp api := jobqueue.New(nil, store) if from != "VOID" { - err := store.PushCompose(id, &blueprint.Blueprint{}, nil, nil, map[string]string{"test": "test:foo"}, "x86_64", "qcow2", 0, nil) + err := store.PushCompose(id, &blueprint.Blueprint{}, nil, nil, "x86_64", "qcow2", 0, nil) if err != nil { t.Fatalf("error pushing compose: %v", err) } diff --git a/internal/store/store.go b/internal/store/store.go index 2f6feda26..7bc9bc74b 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -588,7 +588,7 @@ func (s *Store) getImageBuildDirectory(composeID uuid.UUID, imageBuildID int) st return fmt.Sprintf("%s/%d", s.getComposeDirectory(composeID), imageBuildID) } -func (s *Store) PushCompose(composeID uuid.UUID, bp *blueprint.Blueprint, packages, buildPackages []rpmmd.PackageSpec, checksums map[string]string, arch, composeType string, size uint64, uploadTarget *target.Target) error { +func (s *Store) PushCompose(composeID uuid.UUID, bp *blueprint.Blueprint, packages, buildPackages []rpmmd.PackageSpec, arch, composeType string, size uint64, uploadTarget *target.Target) error { targets := []*target.Target{} // Compatibility layer for image types in Weldr API v0 @@ -621,7 +621,7 @@ func (s *Store) PushCompose(composeID uuid.UUID, bp *blueprint.Blueprint, packag repos = append(repos, source.RepoConfig()) } - manifestStruct, err := s.distro.Manifest(bp, repos, packages, buildPackages, checksums, arch, composeType, size) + manifestStruct, err := s.distro.Manifest(bp, repos, packages, buildPackages, arch, composeType, size) if err != nil { return err } @@ -689,7 +689,7 @@ func (s *Store) PushComposeRequest(request ComposeRequest) error { if !exists { panic("fatal error, image type should exist but it does not") } - manifestStruct, err := distroStruct.Manifest(&request.Blueprint, request.Repositories, nil, nil, request.Checksums, arch, imgTypeCompatStr, 0) + manifestStruct, err := distroStruct.Manifest(&request.Blueprint, request.Repositories, nil, nil, arch, imgTypeCompatStr, 0) if err != nil { return err } diff --git a/internal/weldr/api.go b/internal/weldr/api.go index 0987417a7..a082f291a 100644 --- a/internal/weldr/api.go +++ b/internal/weldr/api.go @@ -843,7 +843,7 @@ func (api *API) blueprintsDepsolveHandler(writer http.ResponseWriter, request *h continue } - dependencies, _, _, err := api.depsolveBlueprint(blueprint, "", api.arch, false) + dependencies, _, err := api.depsolveBlueprint(blueprint, "", api.arch, false) if err != nil { errors := responseError{ @@ -939,7 +939,7 @@ func (api *API) blueprintsFreezeHandler(writer http.ResponseWriter, request *htt break } - dependencies, _, _, err := api.depsolveBlueprint(&blueprint, "", api.arch, false) + dependencies, _, err := api.depsolveBlueprint(&blueprint, "", api.arch, false) if err != nil { rerr := responseError{ ID: "BlueprintsError", @@ -1418,7 +1418,7 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request } if bp != nil { - packages, buildPackages, checksums, err := api.depsolveBlueprint(bp, cr.ComposeType, api.arch, true) + packages, buildPackages, err := api.depsolveBlueprint(bp, cr.ComposeType, api.arch, true) if err != nil { errors := responseError{ ID: "DepsolveError", @@ -1428,7 +1428,7 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request return } - err = api.store.PushCompose(reply.BuildID, bp, packages, buildPackages, checksums, api.arch, cr.ComposeType, size, uploadTarget) + err = api.store.PushCompose(reply.BuildID, bp, packages, buildPackages, api.arch, cr.ComposeType, size, uploadTarget) // TODO: we should probably do some kind of blueprint validation in future // for now, let's just 500 and bail out @@ -1977,7 +1977,7 @@ func getPkgNameGlob(pkg blueprint.Package) string { return pkg.Name } -func (api *API) depsolveBlueprint(bp *blueprint.Blueprint, outputType, arch string, clean bool) ([]rpmmd.PackageSpec, []rpmmd.PackageSpec, map[string]string, error) { +func (api *API) depsolveBlueprint(bp *blueprint.Blueprint, outputType, arch string, clean bool) ([]rpmmd.PackageSpec, []rpmmd.PackageSpec, error) { repos := api.distro.Repositories(api.arch) for _, source := range api.store.GetAllSources() { repos = append(repos, source.RepoConfig()) @@ -1995,30 +1995,30 @@ func (api *API) depsolveBlueprint(bp *blueprint.Blueprint, outputType, arch stri // transaction. packages, excludePackages, err := api.distro.BasePackages(outputType, arch) if err != nil { - return nil, nil, nil, err + return nil, nil, err } specs = append(specs, packages...) excludeSpecs = append(excludePackages, excludeSpecs...) } - packages, checksums, err := api.rpmmd.Depsolve(specs, excludeSpecs, repos, api.distro.ModulePlatformID()) + packages, _, err := api.rpmmd.Depsolve(specs, excludeSpecs, repos, api.distro.ModulePlatformID()) if err != nil { - return nil, nil, nil, err + return nil, nil, err } buildPackages := []rpmmd.PackageSpec{} if outputType != "" { buildSpecs, err := api.distro.BuildPackages(arch) if err != nil { - return nil, nil, nil, err + return nil, nil, err } buildPackages, _, err = api.rpmmd.Depsolve(buildSpecs, nil, repos, api.distro.ModulePlatformID()) if err != nil { - return nil, nil, nil, err + return nil, nil, err } } - return packages, buildPackages, checksums, err + return packages, buildPackages, err } func (api *API) uploadsScheduleHandler(writer http.ResponseWriter, request *http.Request, params httprouter.Params) {