diff --git a/internal/mocks/dnfjson/dnfjson.go b/internal/mocks/dnfjson/dnfjson.go index 12415a6db..dad82442a 100644 --- a/internal/mocks/dnfjson/dnfjson.go +++ b/internal/mocks/dnfjson/dnfjson.go @@ -148,6 +148,7 @@ func BaseDeps() []rpmmd.PackageSpec { Arch: "x86_64", CheckGPG: true, Checksum: "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", + RepoID: "REPOID", // added by test case }, { Name: "dep-package1", @@ -157,6 +158,7 @@ func BaseDeps() []rpmmd.PackageSpec { Arch: "x86_64", CheckGPG: true, Checksum: "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", + RepoID: "REPOID", // added by test case }, { Name: "dep-package2", @@ -166,6 +168,7 @@ func BaseDeps() []rpmmd.PackageSpec { Arch: "x86_64", CheckGPG: true, Checksum: "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", + RepoID: "REPOID", // added by test case }, } } diff --git a/internal/weldr/api.go b/internal/weldr/api.go index 5015bbe98..a86aeb1a5 100644 --- a/internal/weldr/api.go +++ b/internal/weldr/api.go @@ -2284,30 +2284,27 @@ func (api *API) blueprintsTagHandler(writer http.ResponseWriter, request *http.R // repositories for the depsolving. The actual distro object name may not correspond to the alias. // Since the solver uses the distro name to namespace cache, it is important to use the same distro // name as the one used to get the repositories. -func (api *API) depsolve(packageSets map[string][]rpmmd.PackageSet, distroName string, arch distro.Arch) (map[string][]rpmmd.PackageSpec, map[string][]rpmmd.RepoConfig, error) { +func (api *API) depsolve(packageSets map[string][]rpmmd.PackageSet, distroName string, arch distro.Arch) (map[string]dnfjson.DepsolveResult, error) { distro := arch.Distro() platformID := distro.ModulePlatformID() releasever := distro.Releasever() solver := api.solver.NewWithConfig(platformID, releasever, arch.Name(), distroName) - depsolvedSets := make(map[string][]rpmmd.PackageSpec, len(packageSets)) - repoConfigs := make(map[string][]rpmmd.RepoConfig) + depsolvedSets := make(map[string]dnfjson.DepsolveResult, len(packageSets)) for name, pkgSet := range packageSets { - // TODO: SBOM support could be added here res, err := solver.Depsolve(pkgSet, sbom.StandardTypeNone) if err != nil { - return nil, nil, err + return nil, err } - depsolvedSets[name] = res.Packages - repoConfigs[name] = res.Repos + depsolvedSets[name] = *res } if err := solver.CleanCache(); err != nil { // log and ignore log.Printf("Error during rpm repo cache cleanup: %s", err.Error()) } - return depsolvedSets, repoConfigs, nil + return depsolvedSets, nil } func (api *API) resolveContainers(sourceSpecs map[string][]container.SourceSpec, archName string) (map[string][]container.Spec, error) { @@ -2577,7 +2574,7 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request return } - packageSets, repoConfigs, err := api.depsolve(manifest.GetPackageSetChains(), distroName, imageType.Arch()) + depsolved, err := api.depsolve(manifest.GetPackageSetChains(), distroName, imageType.Arch()) if err != nil { errors := responseError{ ID: "DepsolveError", @@ -2609,7 +2606,7 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request return } - mf, err := manifest.Serialize(packageSets, containerSpecs, ostreeCommitSpecs, repoConfigs) + mf, err := manifest.Serialize(depsolved, containerSpecs, ostreeCommitSpecs, nil) if err != nil { errors := responseError{ ID: "ManifestCreationFailed", @@ -2622,9 +2619,9 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request var packages []rpmmd.PackageSpec // TODO: introduce a way to query these from the manifest / image type // BUG: installer/container image types will have empty package sets - if packages = packageSets["packages"]; len(packages) == 0 { - if packages = packageSets["os"]; len(packages) == 0 { - packages = packageSets["ostree-tree"] + if packages = depsolved["packages"].Packages; len(packages) == 0 { + if packages = depsolved["os"].Packages; len(packages) == 0 { + packages = depsolved["ostree-tree"].Packages } } diff --git a/internal/weldr/api_test.go b/internal/weldr/api_test.go index d389b1556..1c8195e72 100644 --- a/internal/weldr/api_test.go +++ b/internal/weldr/api_test.go @@ -140,11 +140,13 @@ func createTestWeldrAPI(tempdir, hostDistroName, hostArchName string, fixtureGen // For packages, it uses the dnfjson_mock.BaseDeps() every time, but retains // the map keys from the input. // For ostree commits it hashes the URL+Ref to create a checksum. -func ResolveContent(pkgs map[string][]rpmmd.PackageSet, containers map[string][]container.SourceSpec, commits map[string][]ostree.SourceSpec) (map[string][]rpmmd.PackageSpec, map[string][]container.Spec, map[string][]ostree.CommitSpec) { +func ResolveContent(pkgs map[string][]rpmmd.PackageSet, containers map[string][]container.SourceSpec, commits map[string][]ostree.SourceSpec) (map[string]dnfjson.DepsolveResult, map[string][]container.Spec, map[string][]ostree.CommitSpec) { - pkgSpecs := make(map[string][]rpmmd.PackageSpec, len(pkgs)) + depsolved := make(map[string]dnfjson.DepsolveResult, len(pkgs)) for name := range pkgs { - pkgSpecs[name] = dnfjson_mock.BaseDeps() + depsolved[name] = dnfjson.DepsolveResult{ + Packages: dnfjson_mock.BaseDeps(), + } } containerSpecs := make(map[string][]container.Spec, len(containers)) @@ -172,7 +174,7 @@ func ResolveContent(pkgs map[string][]rpmmd.PackageSet, containers map[string][] } } - return pkgSpecs, containerSpecs, commitSpecs + return depsolved, containerSpecs, commitSpecs } func TestBasic(t *testing.T) { @@ -1048,6 +1050,8 @@ func TestCompose(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + addRepoID(expectedComposeLocal.Packages, "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e") + expectedComposeLocalAndAws := &store.Compose{ Blueprint: &blueprint.Blueprint{ Name: "test", @@ -1093,6 +1097,8 @@ func TestCompose(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + addRepoID(expectedComposeLocalAndAws.Packages, "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e") + expectedComposeOSTree := &store.Compose{ Blueprint: &blueprint.Blueprint{ Name: "test", @@ -1121,6 +1127,7 @@ func TestCompose(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + addRepoID(expectedComposeOSTree.Packages, "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e") ostreeOptionsOther := ostree.ImageOptions{ImageRef: otherRef, URL: ostreeRepoOther.Server.URL} ostreeManifestOther, _, err := ostreeImgType.Manifest(nil, distro.ImageOptions{OSTree: &ostreeOptionsOther}, nil, nil) @@ -1158,6 +1165,7 @@ func TestCompose(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + addRepoID(expectedComposeOSTreeOther.Packages, "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e") // For 2nd distribution distro2 := test_distro.DistroFactory(testDistro2Name) @@ -1202,6 +1210,7 @@ func TestCompose(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + addRepoID(expectedComposeGoodDistro.Packages, "0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423") var cases = map[string]struct { External bool @@ -1996,8 +2005,8 @@ func TestProjectsDepsolve(t *testing.T) { ExpectedJSON string }{ {rpmmd_mock.NonExistingPackage, "/api/v0/projects/depsolve/fash", http.StatusBadRequest, `{"status":false,"errors":[{"id":"ProjectsError","msg":"BadRequest: running osbuild-depsolve-dnf failed:\nDNF error occurred: MarkingErrors: Error occurred when marking packages for installation: Problems in request:\nmissing packages: fash"}]}`}, - {rpmmd_mock.BaseFixture, "/api/v0/projects/depsolve/fish", http.StatusOK, `{"projects":[{"name":"dep-package3","epoch":7,"version":"3.0.3","release":"1.fc30","arch":"x86_64","check_gpg":true, "checksum":"sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720"},{"name":"dep-package1","epoch":0,"version":"1.33","release":"2.fc30","arch":"x86_64","check_gpg":true, "checksum":"sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893"},{"name":"dep-package2","epoch":0,"version":"2.9","release":"1.fc30","arch":"x86_64","check_gpg":true, "checksum":"sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2"}]}`}, - {rpmmd_mock.BaseFixture, "/api/v0/projects/depsolve/fish?distro=test-distro-2", http.StatusOK, `{"projects":[{"name":"dep-package3","epoch":7,"version":"3.0.3","release":"1.fc30","arch":"x86_64","check_gpg":true, "checksum":"sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720"},{"name":"dep-package1","epoch":0,"version":"1.33","release":"2.fc30","arch":"x86_64","check_gpg":true, "checksum":"sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893"},{"name":"dep-package2","epoch":0,"version":"2.9","release":"1.fc30","arch":"x86_64","check_gpg":true, "checksum":"sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2"}]}`}, + {rpmmd_mock.BaseFixture, "/api/v0/projects/depsolve/fish", http.StatusOK, `{"projects":[{"name":"dep-package3","epoch":7,"version":"3.0.3","release":"1.fc30","arch":"x86_64","checksum":"sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720","check_gpg":true,"repo_id":"ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e"},{"name":"dep-package1","epoch":0,"version":"1.33","release":"2.fc30","arch":"x86_64","checksum":"sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893","check_gpg":true,"repo_id":"ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e"},{"name":"dep-package2","epoch":0,"version":"2.9","release":"1.fc30","arch":"x86_64","checksum":"sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2","check_gpg":true,"repo_id":"ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e"}]}`}, + {rpmmd_mock.BaseFixture, "/api/v0/projects/depsolve/fish?distro=test-distro-2", http.StatusOK, `{"projects":[{"name":"dep-package3","epoch":7,"version":"3.0.3","release":"1.fc30","arch":"x86_64","checksum":"sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720","check_gpg":true,"repo_id":"0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423"},{"name":"dep-package1","epoch":0,"version":"1.33","release":"2.fc30","arch":"x86_64","checksum":"sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893","check_gpg":true,"repo_id":"0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423"},{"name":"dep-package2","epoch":0,"version":"2.9","release":"1.fc30","arch":"x86_64","checksum":"sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2","check_gpg":true,"repo_id":"0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423"}]}`}, {rpmmd_mock.BadDepsolve, "/api/v0/projects/depsolve/go2rpm", http.StatusBadRequest, `{"status":false,"errors":[{"id":"ProjectsError","msg":"BadRequest: running osbuild-depsolve-dnf failed:\nDNF error occurred: DepsolveError: There was a problem depsolving ['go2rpm']: \n Problem: conflicting requests\n - nothing provides askalono-cli needed by go2rpm-1-4.fc31.noarch"}]}`}, {rpmmd_mock.BaseFixture, "/api/v0/projects/depsolve/fish?distro=fedora-1", http.StatusBadRequest, `{"status":false,"errors":[{"id":"DistroError","msg":"Invalid distro: fedora-1"}]}`}, } @@ -2196,6 +2205,13 @@ func TestComposeTypes_ImageTypeDenylist(t *testing.T) { } } +func addRepoID(packages []rpmmd.PackageSpec, id string) { + for idx, pkg := range packages { + pkg.RepoID = id + packages[idx] = pkg + } +} + func TestComposePOST_ImageTypeDenylist(t *testing.T) { distro2 := test_distro.DistroFactory(testDistro2Name) require.NotNil(t, distro2) @@ -2240,6 +2256,9 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + // the repo ID can't be statically added to the package list because it + // changes based on the test repository configuration + addRepoID(expectedComposeLocal.Packages, "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e") expectedComposeLocal2 := &store.Compose{ Blueprint: &blueprint.Blueprint{ @@ -2269,6 +2288,7 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) { }, Packages: dnfjson_mock.BaseDeps(), } + addRepoID(expectedComposeLocal2.Packages, "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e") var cases = []struct { Path string diff --git a/internal/weldr/responses_test.go b/internal/weldr/responses_test.go index 56dea2424..85e4d833e 100644 --- a/internal/weldr/responses_test.go +++ b/internal/weldr/responses_test.go @@ -93,6 +93,7 @@ const depsolveTestResponse = ` "epoch": 7, "version": "3.0.3", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" @@ -102,6 +103,7 @@ const depsolveTestResponse = ` "epoch": 0, "version": "1.33", "release": "2.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" @@ -111,6 +113,7 @@ const depsolveTestResponse = ` "epoch": 0, "version": "2.9", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" @@ -1404,8 +1407,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1413,8 +1417,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1422,8 +1427,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1474,8 +1480,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1483,8 +1490,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1492,8 +1500,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1544,8 +1553,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1553,8 +1563,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1562,8 +1573,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1614,8 +1626,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1623,8 +1636,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1632,8 +1646,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1684,8 +1699,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1693,8 +1709,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1702,8 +1719,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1754,8 +1772,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1763,8 +1782,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1772,8 +1792,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1824,8 +1845,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1833,8 +1855,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1842,8 +1865,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1894,8 +1918,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1903,8 +1928,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1912,8 +1938,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -1964,8 +1991,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -1973,8 +2001,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -1982,8 +2011,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2034,8 +2064,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2043,8 +2074,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2052,8 +2084,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2104,8 +2137,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2113,8 +2147,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2122,8 +2157,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2174,8 +2210,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2183,8 +2220,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2192,8 +2230,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2244,8 +2283,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2253,8 +2293,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2262,8 +2303,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2314,8 +2356,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2323,8 +2366,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2332,8 +2376,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2384,8 +2429,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2393,8 +2439,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2402,8 +2449,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2454,8 +2502,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2463,8 +2512,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2472,8 +2522,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2524,8 +2575,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2533,8 +2585,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2542,8 +2595,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2594,8 +2648,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2603,8 +2658,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2612,8 +2668,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2664,8 +2721,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2673,8 +2731,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2682,8 +2741,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2734,8 +2794,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2743,8 +2804,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2752,8 +2814,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2804,8 +2867,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2813,8 +2877,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2822,8 +2887,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] }, @@ -2874,8 +2940,9 @@ const modulesInfoResponse = ` "version": "3.0.3", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720", "check_gpg": true, - "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package1", @@ -2883,8 +2950,9 @@ const modulesInfoResponse = ` "version": "1.33", "release": "2.fc30", "arch": "x86_64", + "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893", "check_gpg": true, - "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" }, { "name": "dep-package2", @@ -2892,8 +2960,9 @@ const modulesInfoResponse = ` "version": "2.9", "release": "1.fc30", "arch": "x86_64", + "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2", "check_gpg": true, - "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e" } ] } @@ -2950,6 +3019,7 @@ const modulesInfoFilteredResponse = ` "epoch": 7, "version": "3.0.3", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" @@ -2959,6 +3029,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "1.33", "release": "2.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" @@ -2968,6 +3039,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "2.9", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" @@ -3020,6 +3092,7 @@ const modulesInfoFilteredResponse = ` "epoch": 7, "version": "3.0.3", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" @@ -3029,6 +3102,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "1.33", "release": "2.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" @@ -3038,6 +3112,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "2.9", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" @@ -3090,6 +3165,7 @@ const modulesInfoFilteredResponse = ` "epoch": 7, "version": "3.0.3", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" @@ -3099,6 +3175,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "1.33", "release": "2.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" @@ -3108,6 +3185,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "2.9", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" @@ -3160,6 +3238,7 @@ const modulesInfoFilteredResponse = ` "epoch": 7, "version": "3.0.3", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" @@ -3169,6 +3248,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "1.33", "release": "2.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" @@ -3178,6 +3258,7 @@ const modulesInfoFilteredResponse = ` "epoch": 0, "version": "2.9", "release": "1.fc30", + "repo_id": "ac982f7c76771e898d1112d1a81d182eeb48af4a26792df248ebf6a47de06a4e", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2" @@ -3237,6 +3318,7 @@ const modulesInfoPackage16Response = ` "epoch": 7, "version": "3.0.3", "release": "1.fc30", + "repo_id": "0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:62278d360aa5045eb202af39fe85743a4b5615f0c9c7439a04d75d785db4c720" @@ -3246,6 +3328,7 @@ const modulesInfoPackage16Response = ` "epoch": 0, "version": "1.33", "release": "2.fc30", + "repo_id": "0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:fe3951d112c3b1c84dc8eac57afe0830df72df1ca0096b842f4db5d781189893" @@ -3255,6 +3338,7 @@ const modulesInfoPackage16Response = ` "epoch": 0, "version": "2.9", "release": "1.fc30", + "repo_id": "0a99a351a0031411571ddfacc8a131862cfc389d5516400d0cdbc9340a6ec423", "arch": "x86_64", "check_gpg": true, "checksum": "sha256:5797c0b0489681596b5b3cd7165d49870b85b69d65e08770946380a3dcd49ea2"