diff --git a/rhel/coalescer.go b/rhel/coalescer.go index 2e1ab9046..b2559a44c 100644 --- a/rhel/coalescer.go +++ b/rhel/coalescer.go @@ -2,6 +2,7 @@ package rhel import ( "context" + "net/url" "github.com/quay/claircore" "github.com/quay/claircore/indexer" @@ -116,10 +117,15 @@ func (*Coalescer) Coalesce(ctx context.Context, artifacts []*indexer.LayerArtifa PackageDB: pkg.PackageDB, IntroducedIn: layerArtifacts.Hash, DistributionID: distID, - RepositoryIDs: make([]string, len(layerArtifacts.Repos)), } - for i := range layerArtifacts.Repos { - environment.RepositoryIDs[i] = layerArtifacts.Repos[i].ID + v, _ := url.ParseQuery(pkg.RepositoryHint) + if id := v.Get("repoid"); id != "" { + environment.RepositoryIDs = v["repoid"] + } else { + environment.RepositoryIDs = make([]string, len(layerArtifacts.Repos)) + for i := range layerArtifacts.Repos { + environment.RepositoryIDs[i] = layerArtifacts.Repos[i].ID + } } db.packages[pkg.ID] = pkg db.environments[pkg.ID] = environment diff --git a/rhel/ecosystem.go b/rhel/ecosystem.go index ed5ac2523..be315ba3e 100644 --- a/rhel/ecosystem.go +++ b/rhel/ecosystem.go @@ -4,14 +4,13 @@ import ( "context" "github.com/quay/claircore/indexer" - "github.com/quay/claircore/rpm" ) // NewEcosystem provides the set of scanners and coalescer for the rhel ecosystem. func NewEcosystem(_ context.Context) *indexer.Ecosystem { return &indexer.Ecosystem{ PackageScanners: func(_ context.Context) ([]indexer.PackageScanner, error) { - return []indexer.PackageScanner{new(rpm.Scanner)}, nil + return []indexer.PackageScanner{PackageScanner{}}, nil }, DistributionScanners: func(_ context.Context) ([]indexer.DistributionScanner, error) { return []indexer.DistributionScanner{new(DistributionScanner)}, nil diff --git a/rhel/matcher_test.go b/rhel/matcher_test.go index 8c6290fdc..b5d48d4e4 100644 --- a/rhel/matcher_test.go +++ b/rhel/matcher_test.go @@ -272,13 +272,13 @@ func TestIsCPEStringSubsetMatch(t *testing.T) { match bool }{ { - name: "simple_case", + name: "Simple", recordCPE: cpe.MustUnbind("cpe:/a:redhat:openshift:4.13::el8"), vulnCPE: cpe.MustUnbind("cpe:/a:redhat:openshift:4"), match: true, }, { - name: "wrong_minor", + name: "WrongMinor", recordCPE: cpe.MustUnbind("cpe:/a:redhat:openshift:4.13::el8"), vulnCPE: cpe.MustUnbind("cpe:/a:redhat:openshift:4.1::el8"), match: false, diff --git a/rhel/packagescanner.go b/rhel/packagescanner.go new file mode 100644 index 000000000..af0f23cfd --- /dev/null +++ b/rhel/packagescanner.go @@ -0,0 +1,92 @@ +package rhel + +import ( + "context" + "errors" + "fmt" + "runtime/trace" + "slices" + + "github.com/quay/zlog" + + "github.com/quay/claircore" + "github.com/quay/claircore/indexer" + "github.com/quay/claircore/internal/dnf" + "github.com/quay/claircore/internal/rpm" + "github.com/quay/claircore/internal/wart" +) + +var _ indexer.PackageScanner = PackageScanner{} + +type PackageScanner struct{} + +// Kind implements [indexer.PackageScanner]. +func (p PackageScanner) Kind() string { return "package" } + +// Name implements [indexer.PackageScanner]. +func (p PackageScanner) Name() string { return "rhel-package-scanner" } + +// Version implements [indexer.PackageScanner]. +func (p PackageScanner) Version() string { return "1" } + +// Scan implements [indexer.PackageScanner]. +func (p PackageScanner) Scan(ctx context.Context, layer *claircore.Layer) ([]*claircore.Package, error) { + if err := ctx.Err(); err != nil { + return nil, err + } + defer trace.StartRegion(ctx, "PackageScanner.Scan").End() + trace.Log(ctx, "layer", layer.Hash.String()) + ctx = zlog.ContextWithValues(ctx, + "component", "rhel/PackageScanner.Scan", + "version", p.Version(), + "layer", layer.Hash.String()) + zlog.Debug(ctx).Msg("start") + defer zlog.Debug(ctx).Msg("done") + + sys, err := layer.FS() + if err != nil { + return nil, fmt.Errorf("rhel: unable to open layer: %w", err) + } + + found, err := rpm.FindDBs(ctx, sys) + if err != nil { + return nil, fmt.Errorf("rhel: error examining fs: %w", err) + } + if len(found) == 0 { + return nil, nil + } + + zlog.Debug(ctx).Int("count", len(found)).Msg("found possible databases") + + a, err := dnf.NewAnnotator(ctx, sys) + if err != nil { + return nil, fmt.Errorf("rhel: error examining fs: %w", err) + } + defer func() { + if err := a.Close(); err != nil { + zlog.Warn(ctx).Err(err).Msg("error closing dnf Annotator") + } + }() + if a == dnf.Identity { + zlog.Debug(ctx).Msg("no dnf information found") + } + + var final error + seq := func(yield func(*claircore.Package) bool) { + for _, db := range found { + ctx := zlog.ContextWithValues(ctx, "db", db.String()) + zlog.Debug(ctx).Msg("examining database") + + seq, checkPkgs := db.Packages(ctx) + seq, checkDNF := a.Wrap(ctx, seq) + wart.AsPointer(seq)(yield) + + if err := errors.Join(checkDNF(), checkPkgs()); err != nil { + final = fmt.Errorf("rhel: error reading native db: %w", err) + return + } + } + } + + return slices.Collect(seq), final +} diff --git a/rhel/packagescanner_test.go b/rhel/packagescanner_test.go new file mode 100644 index 000000000..3693acc4f --- /dev/null +++ b/rhel/packagescanner_test.go @@ -0,0 +1,119 @@ +package rhel + +import ( + "context" + "os" + "path/filepath" + "testing" + + "github.com/google/go-cmp/cmp" + "github.com/quay/zlog" + + "github.com/quay/claircore" + "github.com/quay/claircore/test" + "github.com/quay/claircore/test/rpmtest" +) + +func TestPackageScanner(t *testing.T) { + t.Parallel() + ctx := zlog.Test(context.Background(), t) + + a := test.NewCachedArena(t) + defer func() { + if err := a.Close(ctx); err != nil { + t.Error(err) + } + }() + + tt := []PackageTestcase{ + { + Name: "BDB", + ManifestFile: "bdb.rpm-manifest.json", + // Some forgotten CentOS layer. + Ref: test.LayerRef{ + Registry: "docker.io", + Name: "library/centos", + Digest: `sha256:729ec3a6ada3a6d26faca9b4779a037231f1762f759ef34c08bdd61bf52cd704`, + }, + }, + { + Name: "NodeJS", + ManifestFile: "nodejs.rpm-manifest.json", + // Layer from registry.access.redhat.com/ubi9/nodejs-18@sha256:1ff5080686736cbab820ec560873c59bd80659a2b2f8d8f4e379301a910e5d54 + Ref: test.LayerRef{ + Registry: "registry.access.redhat.com", + Name: "ubi9/nodejs-18", + Digest: `sha256:1ae06b64755052cef4c32979aded82a18f664c66fa7b50a6d2924afac2849c6e`, + }, + }, + { + Name: "Httpd24NoContentSets", + ManifestFile: "httpd-24_9.5-1734525854.rpm-manifest.json", + // Layer from registry.access.redhat.com/ubi9/httpd-24:9.5-1734525854 + Ref: test.LayerRef{ + Registry: "registry.access.redhat.com", + Name: "ubi9/httpd-24", + Digest: `sha256:572f60f98d5ae116073fa5f8c576fc014afdcd4c68875e37c37032ad2772f653`, + }, + }, + } + for _, tc := range tt { + t.Run(tc.Name, tc.Run(ctx, a)) + } +} + +type PackageTestcase struct { + Name string + ManifestFile string + Ref test.LayerRef +} + +func (tc PackageTestcase) Run(ctx context.Context, a *test.CachedArena) func(*testing.T) { + s := &PackageScanner{} + return func(t *testing.T) { + t.Parallel() + ctx := zlog.Test(ctx, t) + a.LoadLayerFromRegistry(ctx, t, tc.Ref) + wf, err := os.Open(filepath.Join("testdata/", tc.ManifestFile)) + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { + if err := wf.Close(); err != nil { + t.Error(err) + } + }) + want := rpmtest.PackagesFromRPMManifest(t, wf) + r := a.Realizer(ctx).(*test.CachedRealizer) + t.Cleanup(func() { + if err := r.Close(); err != nil { + t.Error(err) + } + }) + ls, err := r.RealizeDescriptions(ctx, []claircore.LayerDescription{ + { + Digest: tc.Ref.Digest, + URI: "http://example.com", + MediaType: test.MediaType, + Headers: make(map[string][]string), + }, + }) + if err != nil { + t.Fatal(err) + } + + got, err := s.Scan(ctx, &ls[0]) + if err != nil { + t.Error(err) + } + t.Logf("found %d packages", len(got)) + /* + for _, pkg := range got { + t.Logf("%s: %#q", pkg.Name, pkg.RepositoryHint) + } + */ + if !cmp.Equal(got, want, rpmtest.Options) { + t.Error(cmp.Diff(got, want, rpmtest.Options)) + } + } +} diff --git a/rhel/repositoryscanner.go b/rhel/repositoryscanner.go index d1f2f53f1..f35445d7f 100644 --- a/rhel/repositoryscanner.go +++ b/rhel/repositoryscanner.go @@ -12,6 +12,7 @@ import ( "os" "path/filepath" "runtime/trace" + "slices" "strings" "time" @@ -19,6 +20,7 @@ import ( "github.com/quay/claircore" "github.com/quay/claircore/indexer" + "github.com/quay/claircore/internal/dnf" "github.com/quay/claircore/internal/zreader" "github.com/quay/claircore/rhel/dockerfile" "github.com/quay/claircore/rhel/internal/common" @@ -26,25 +28,25 @@ import ( "github.com/quay/claircore/toolkit/types/cpe" ) -/* -RepositoryScanner implements repository detection logic for RHEL. - -The RHEL detection logic needs outside information because the Red Hat build -system does not (and did not, in the past) store the relevant information in the -layer itself. In addition, dnf and yum do not persist provenance information -outside of a cache and rpm considers such information outside its baliwick. - -In the case of the RHEL ecosystem, "repository" is a bit of a misnomer, as -advisories are tracked on the Product level, and so Clair's "repository" data is -used instead to indicate a Product. This mismatch can lead to apparent -duplications in reporting. For example, if an advisory is marked as affecting -"cpe:/a:redhat:enterprise_linux:8" and -"cpe:/a:redhat:enterprise_linux:8::appstream", this results in two advisories -being recorded. (CPEs do not namespace the way this example may imply; that is -to say, the latter is not "contained in" or a "member of" the former.) If a -layer reports that it is both the "cpe:/a:redhat:enterprise_linux:8" and -"cpe:/a:redhat:enterprise_linux:8::appstream" layer, then both advisories match. -*/ +// RepositoryScanner implements repository detection logic for RHEL. +// +// The RHEL detection logic needs outside information because the Red Hat build +// system does not (and did not, in the past) store the relevant information in +// the layer itself. In addition, dnf and yum do not persist provenance +// information outside of a cache and rpm considers such information outside its +// baliwick. +// +// In the case of the RHEL ecosystem, "repository" is a bit of a misnomer, as +// advisories are tracked on the Product level, and so Clair's "repository" data +// is used instead to indicate a Product. This mismatch can lead to apparent +// duplication in reporting. For example, if an advisory is marked as affecting +// "cpe:/a:redhat:enterprise_linux:8" and +// "cpe:/a:redhat:enterprise_linux:8::appstream", this results in two advisories +// being recorded. (CPEs do not namespace the way this example may imply; that +// is to say, the latter is not "contained in" or a "member of" the former.) If +// a layer reports that it is both the "cpe:/a:redhat:enterprise_linux:8" and +// "cpe:/a:redhat:enterprise_linux:8::appstream" layer, then both advisories +// match. type RepositoryScanner struct { // These members are created after the Configure call. upd *common.Updater @@ -72,8 +74,6 @@ var ( // - If both the "URL" and "File" are provided, the file will be loaded // initially and then updated periodically from the URL. type RepositoryScannerConfig struct { - // DisableAPI disables the use of the API. - DisableAPI bool `json:"disable_api" yaml:"disable_api"` // API is the URL to talk to the Red Hat Container API. // // See [DefaultContainerAPI] and [containerapi.ContainerAPI]. @@ -91,6 +91,8 @@ type RepositoryScannerConfig struct { // // The default is 10 seconds. Timeout time.Duration `json:"timeout" yaml:"timeout"` + // DisableAPI disables the use of the API. + DisableAPI bool `json:"disable_api" yaml:"disable_api"` } const ( @@ -110,7 +112,7 @@ const ( func (*RepositoryScanner) Name() string { return "rhel-repository-scanner" } // Version implements [indexer.VersionedScanner]. -func (*RepositoryScanner) Version() string { return "1.2" } +func (*RepositoryScanner) Version() string { return "2" } // Kind implements [indexer.VersionedScanner]. func (*RepositoryScanner) Kind() string { return "repository" } @@ -180,7 +182,7 @@ func (r *RepositoryScanner) Configure(ctx context.Context, f indexer.ConfigDeser } // Scan implements [indexer.RepositoryScanner]. -func (r *RepositoryScanner) Scan(ctx context.Context, l *claircore.Layer) (repositories []*claircore.Repository, err error) { +func (r *RepositoryScanner) Scan(ctx context.Context, l *claircore.Layer) ([]*claircore.Repository, error) { defer trace.StartRegion(ctx, "Scanner.Scan").End() ctx = zlog.ContextWithValues(ctx, "component", "rhel/RepositoryScanner.Scan", @@ -204,24 +206,66 @@ func (r *RepositoryScanner) Scan(ctx context.Context, l *claircore.Layer) (repos if !ok || cm == nil { return []*claircore.Repository{}, fmt.Errorf("rhel: unable to create a mappingFile object") } - CPEs, err := mapContentSets(ctx, sys, cm) + + // First, look at DNF. + repoids, err := dnf.FindRepoids(ctx, sys) + switch { + case err != nil: // continue to error check and return + case len(repoids) == 0: + // If DNF yielded nothing, check for content-sets data. + repoids, err = repoidsFromContentSets(ctx, sys) + default: + } if err != nil { return []*claircore.Repository{}, err } - if CPEs == nil && r.apiFetcher != nil { - // Embedded content-sets are available only for new images. - // For old images, use fallback option and query Red Hat Container API. - ctx, done := context.WithTimeout(ctx, r.cfg.Timeout) - defer done() - CPEs, err = mapContainerAPI(ctx, sys, r.apiFetcher) + + pairs := func(yield func(string, string) bool) { + for _, repoid := range repoids { + cpes, ok := cm.GetOne(ctx, repoid) + if !ok { + continue + } + for _, cpe := range cpes { + if !yield(repoid, cpe) { + return + } + } + } + + if r.apiFetcher != nil { + // Embedded content-sets are unavailable in very old images. + // For these, use fallback option and query Red Hat Container API. + ctx, done := context.WithTimeout(ctx, r.cfg.Timeout) + defer done() + + // !!! This ends up being a weird nonlocal return. !!! + var cpes []string + cpes, err = mapContainerAPI(ctx, sys, r.apiFetcher) + if err != nil { + return + } + for _, cpe := range cpes { + if !yield("", cpe) { + return + } + } + } + } + var repositories []*claircore.Repository + for repoid, cpeID := range pairs { + // TODO(hank) Remove these ContainerAPI hacks: + // Start ContainerAPI hacks if err != nil { return []*claircore.Repository{}, err } - } + if repoid == "" { + repoid = cpeID + } + // End ContainerAPI hacks - for _, cpeID := range CPEs { r := &claircore.Repository{ - Name: cpeID, + Name: repoid, Key: repositoryKey, } r.CPE, err = cpe.Unbind(cpeID) @@ -236,17 +280,29 @@ func (r *RepositoryScanner) Scan(ctx context.Context, l *claircore.Layer) (repos repositories = append(repositories, r) } + slices.SortFunc(repositories, func(a, b *claircore.Repository) int { + if ord := strings.Compare(a.Name, b.Name); ord != 0 { + return ord + } + if ord := strings.Compare(a.CPE.BindFS(), b.CPE.BindFS()); ord != 0 { + return ord + } + return 0 + }) + repositories = slices.CompactFunc(repositories, func(a, b *claircore.Repository) bool { + return a.Name == b.Name && a.CPE.BindFS() == b.CPE.BindFS() + }) return repositories, nil } -// MapContentSets returns a slice of CPEs bound into strings, as discovered by -// examining information contained within the container. -func mapContentSets(ctx context.Context, sys fs.FS, cm *mappingFile) ([]string, error) { - // Get CPEs using embedded content-set files. - // The files are stored in /root/buildinfo/content_manifests/ and will need to - // be translated using mapping file provided by Red Hat's PST team. - // For RHCOS, the files are stored in /usr/share/buildinfo/. +// RepoidsFromContentSets returns a slice of repoids, as discovered by examining +// information contained within the container. +func repoidsFromContentSets(ctx context.Context, sys fs.FS) ([]string, error) { + // Get repoids using embedded content-set files. The files are stored in + // /root/buildinfo/content_manifests/ and will need to be translated using + // mapping file provided by Red Hat's PST team. For RHCOS, the files are + // stored in /usr/share/buildinfo/. ms, err := fs.Glob(sys, `root/buildinfo/content_manifests/*.json`) if err != nil { panic("programmer error: " + err.Error()) @@ -286,7 +342,7 @@ func mapContentSets(ctx context.Context, sys fs.FS, cm *mappingFile) ([]string, if len(m.ContentSets) == 0 { return nil, nil } - return cm.Get(ctx, m.ContentSets) + return m.ContentSets, nil } // MappingFile is a data struct for mapping file between repositories and CPEs @@ -299,27 +355,14 @@ type repo struct { CPEs []string `json:"cpes"` } -func (m *mappingFile) Get(ctx context.Context, rs []string) ([]string, error) { - s := map[string]struct{}{} - for _, r := range rs { - cpes, ok := m.Data[r] - if !ok { - zlog.Debug(ctx). - Str("repository", r). - Msg("repository not present in a mapping file") - continue - } - for _, cpe := range cpes.CPEs { - s[cpe] = struct{}{} - } +func (m *mappingFile) GetOne(ctx context.Context, repoid string) (cpes []string, ok bool) { + if repo, ok := m.Data[repoid]; ok { + return repo.CPEs, true } - - i, r := 0, make([]string, len(s)) - for k := range s { - r[i] = k - i++ - } - return r, nil + zlog.Debug(ctx). + Str("repository", repoid). + Msg("repository not present in a mapping file") + return nil, false } // ContentManifest structure is the data provided by OSBS. diff --git a/rhel/repositoryscanner_test.go b/rhel/repositoryscanner_test.go index 389653ad9..ced544f75 100644 --- a/rhel/repositoryscanner_test.go +++ b/rhel/repositoryscanner_test.go @@ -103,17 +103,22 @@ func TestRepositoryScanner(t *testing.T) { name: "FromMappingUrl", want: []*claircore.Repository{ { - Name: "cpe:/o:redhat:enterprise_linux:6::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:6::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:7::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:8::server", + Name: "content-set-2", + Key: repositoryKey, + CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), + }, + { + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:8::server"), }, @@ -125,17 +130,22 @@ func TestRepositoryScanner(t *testing.T) { name: "FromMappingFile", want: []*claircore.Repository{ { - Name: "cpe:/o:redhat:enterprise_linux:6::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:6::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:7::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:8::server", + Name: "content-set-2", + Key: repositoryKey, + CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), + }, + { + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:8::server"), }, @@ -147,17 +157,22 @@ func TestRepositoryScanner(t *testing.T) { name: "FromMappingFileAirGap", want: []*claircore.Repository{ { - Name: "cpe:/o:redhat:enterprise_linux:6::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:6::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:7::server", + Name: "content-set-1", + Key: repositoryKey, + CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), + }, + { + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:8::server", + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:8::server"), }, @@ -176,47 +191,60 @@ func TestRepositoryScanner(t *testing.T) { want: nil, cfg: &RepositoryScannerConfig{DisableAPI: true}, layerPath: "testdata/layer-with-embedded-cs.tar", - }, { + }, + { name: "BadContentManifestsFile", want: nil, cfg: &RepositoryScannerConfig{API: srv.URL, Repo2CPEMappingURL: srv.URL + "/repository-2-cpe.json"}, layerPath: "testdata/layer-with-invalid-content-manifests-json.tar", - }, { + }, + { name: "RHCOSLayerFromMappingFile", want: []*claircore.Repository{ { - Name: "cpe:/o:redhat:enterprise_linux:6::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:6::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:7::server", + Name: "content-set-1", + Key: repositoryKey, + CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), + }, + { + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:8::server", + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:8::server"), }, }, cfg: &RepositoryScannerConfig{Repo2CPEMappingFile: f.Name()}, layerPath: "testdata/rhcos-layer-with-embedded-cs.tar", - }, { + }, + { name: "RHCOSLayerFromMappingFileWithConflictingFiles", want: []*claircore.Repository{ { - Name: "cpe:/o:redhat:enterprise_linux:6::server", + Name: "content-set-1", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:6::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:7::server", + Name: "content-set-1", + Key: repositoryKey, + CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), + }, + { + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:7::server"), }, { - Name: "cpe:/o:redhat:enterprise_linux:8::server", + Name: "content-set-2", Key: repositoryKey, CPE: cpe.MustUnbind("cpe:/o:redhat:enterprise_linux:8::server"), }, diff --git a/rhel/testdata/bdb.rpm-manifest.json b/rhel/testdata/bdb.rpm-manifest.json new file mode 100644 index 000000000..649f00bd0 --- /dev/null +++ b/rhel/testdata/bdb.rpm-manifest.json @@ -0,0 +1,1571 @@ +{ + "object_type": "containerImageRPMManifest", + "rpms": [ + { + "srpm_name": "tzdata", + "name": "tzdata", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "tzdata-2019a-1.el8.src", + "release": "1.el8", + "nerva": "tzdata-2019a-1.el8.noarch" + }, + { + "srpm_name": "ncurses", + "name": "ncurses-base", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "ncurses-6.1-7.20180224.el8.src", + "release": "7.20180224.el8", + "nerva": "ncurses-base-6.1-7.20180224.el8.noarch" + }, + { + "srpm_name": "dnf", + "name": "dnf-data", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dnf-4.0.9.2-5.el8.src", + "release": "5.el8", + "nerva": "dnf-data-4.0.9.2-5.el8.noarch" + }, + { + "srpm_name": "dbus", + "name": "dbus-common", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dbus-1.12.8-7.el8.src", + "release": "7.el8", + "nerva": "dbus-common-1:1.12.8-7.el8.noarch" + }, + { + "srpm_name": "setup", + "name": "setup", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "setup-2.12.2-1.el8.src", + "release": "1.el8", + "nerva": "setup-2.12.2-1.el8.noarch" + }, + { + "srpm_name": "basesystem", + "name": "basesystem", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "basesystem-11-5.el8.src", + "release": "5.el8", + "nerva": "basesystem-11-5.el8.noarch" + }, + { + "srpm_name": "libselinux", + "name": "libselinux", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libselinux-2.8-6.el8.src", + "release": "6.el8", + "nerva": "libselinux-2.8-6.el8.x86_64" + }, + { + "srpm_name": "glibc", + "name": "glibc-minimal-langpack", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "glibc-2.28-42.el8.1.src", + "release": "42.el8.1", + "nerva": "glibc-minimal-langpack-2.28-42.el8.1.x86_64" + }, + { + "srpm_name": "glibc", + "name": "glibc", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "glibc-2.28-42.el8.1.src", + "release": "42.el8.1", + "nerva": "glibc-2.28-42.el8.1.x86_64" + }, + { + "srpm_name": "libsepol", + "name": "libsepol", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libsepol-2.8-2.el8.src", + "release": "2.el8", + "nerva": "libsepol-2.8-2.el8.x86_64" + }, + { + "srpm_name": "xz", + "name": "xz-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "xz-5.2.4-3.el8.src", + "release": "3.el8", + "nerva": "xz-libs-5.2.4-3.el8.x86_64" + }, + { + "srpm_name": "libcap", + "name": "libcap", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libcap-2.25-9.el8.src", + "release": "9.el8", + "nerva": "libcap-2.25-9.el8.x86_64" + }, + { + "srpm_name": "libgpg-error", + "name": "libgpg-error", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libgpg-error-1.31-1.el8.src", + "release": "1.el8", + "nerva": "libgpg-error-1.31-1.el8.x86_64" + }, + { + "srpm_name": "e2fsprogs", + "name": "libcom_err", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "e2fsprogs-1.44.3-2.el8.src", + "release": "2.el8", + "nerva": "libcom_err-1.44.3-2.el8.x86_64" + }, + { + "srpm_name": "libxml2", + "name": "libxml2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libxml2-2.9.7-5.el8.src", + "release": "5.el8", + "nerva": "libxml2-2.9.7-5.el8.x86_64" + }, + { + "srpm_name": "expat", + "name": "expat", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "expat-2.2.5-3.el8.src", + "release": "3.el8", + "nerva": "expat-2.2.5-3.el8.x86_64" + }, + { + "srpm_name": "util-linux", + "name": "libuuid", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "util-linux-2.32.1-8.el8.src", + "release": "8.el8", + "nerva": "libuuid-2.32.1-8.el8.x86_64" + }, + { + "srpm_name": "chkconfig", + "name": "chkconfig", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "chkconfig-1.11-1.el8.src", + "release": "1.el8", + "nerva": "chkconfig-1.11-1.el8.x86_64" + }, + { + "srpm_name": "gmp", + "name": "gmp", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gmp-6.1.2-8.el8.src", + "release": "8.el8", + "nerva": "gmp-1:6.1.2-8.el8.x86_64" + }, + { + "srpm_name": "attr", + "name": "libattr", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "attr-2.4.48-3.el8.src", + "release": "3.el8", + "nerva": "libattr-2.4.48-3.el8.x86_64" + }, + { + "srpm_name": "coreutils", + "name": "coreutils-single", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "coreutils-8.30-6.el8.src", + "release": "6.el8", + "nerva": "coreutils-single-8.30-6.el8.x86_64" + }, + { + "srpm_name": "util-linux", + "name": "libblkid", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "util-linux-2.32.1-8.el8.src", + "release": "8.el8", + "nerva": "libblkid-2.32.1-8.el8.x86_64" + }, + { + "srpm_name": "libcap-ng", + "name": "libcap-ng", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libcap-ng-0.7.9-4.el8.src", + "release": "4.el8", + "nerva": "libcap-ng-0.7.9-4.el8.x86_64" + }, + { + "srpm_name": "libffi", + "name": "libffi", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libffi-3.1-18.el8.src", + "release": "18.el8", + "nerva": "libffi-3.1-18.el8.x86_64" + }, + { + "srpm_name": "lua", + "name": "lua-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "lua-5.3.4-10.el8.src", + "release": "10.el8", + "nerva": "lua-libs-5.3.4-10.el8.x86_64" + }, + { + "srpm_name": "p11-kit", + "name": "p11-kit", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "p11-kit-0.23.14-4.el8.src", + "release": "4.el8", + "nerva": "p11-kit-0.23.14-4.el8.x86_64" + }, + { + "srpm_name": "gzip", + "name": "gzip", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gzip-1.9-4.el8.src", + "release": "4.el8", + "nerva": "gzip-1.9-4.el8.x86_64" + }, + { + "srpm_name": "libassuan", + "name": "libassuan", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libassuan-2.5.1-3.el8.src", + "release": "3.el8", + "nerva": "libassuan-2.5.1-3.el8.x86_64" + }, + { + "srpm_name": "libidn2", + "name": "libidn2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libidn2-2.0.5-1.el8.src", + "release": "1.el8", + "nerva": "libidn2-2.0.5-1.el8.x86_64" + }, + { + "srpm_name": "gdbm", + "name": "gdbm-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gdbm-1.18-1.el8.src", + "release": "1.el8", + "nerva": "gdbm-libs-1:1.18-1.el8.x86_64" + }, + { + "srpm_name": "libtasn1", + "name": "libtasn1", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libtasn1-4.13-3.el8.src", + "release": "3.el8", + "nerva": "libtasn1-4.13-3.el8.x86_64" + }, + { + "srpm_name": "lzo", + "name": "lzo", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "lzo-2.08-14.el8.src", + "release": "14.el8", + "nerva": "lzo-2.08-14.el8.x86_64" + }, + { + "srpm_name": "grep", + "name": "grep", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "grep-3.1-6.el8.src", + "release": "6.el8", + "nerva": "grep-3.1-6.el8.x86_64" + }, + { + "srpm_name": "glib2", + "name": "glib2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "glib2-2.56.4-1.el8.src", + "release": "1.el8", + "nerva": "glib2-2.56.4-1.el8.x86_64" + }, + { + "srpm_name": "dbus", + "name": "dbus-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dbus-1.12.8-7.el8.src", + "release": "7.el8", + "nerva": "dbus-libs-1:1.12.8-7.el8.x86_64" + }, + { + "srpm_name": "openssl", + "name": "openssl-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "openssl-1.1.1-8.el8.src", + "release": "8.el8", + "nerva": "openssl-libs-1:1.1.1-8.el8.x86_64" + }, + { + "srpm_name": "kmod", + "name": "kmod-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "kmod-25-11.el8.src", + "release": "11.el8", + "nerva": "kmod-libs-25-11.el8.x86_64" + }, + { + "srpm_name": "kmod", + "name": "kmod", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "kmod-25-11.el8.src", + "release": "11.el8", + "nerva": "kmod-25-11.el8.x86_64" + }, + { + "srpm_name": "libarchive", + "name": "libarchive", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libarchive-3.3.2-3.el8.src", + "release": "3.el8", + "nerva": "libarchive-3.3.2-3.el8.x86_64" + }, + { + "srpm_name": "dhcp", + "name": "dhcp-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dhcp-4.3.6-30.el8.src", + "release": "30.el8", + "nerva": "dhcp-libs-12:4.3.6-30.el8.x86_64" + }, + { + "srpm_name": "procps-ng", + "name": "procps-ng", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "procps-ng-3.3.15-1.el8.src", + "release": "1.el8", + "nerva": "procps-ng-3.3.15-1.el8.x86_64" + }, + { + "srpm_name": "squashfs-tools", + "name": "squashfs-tools", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "squashfs-tools-4.3-17.el8.src", + "release": "17.el8", + "nerva": "squashfs-tools-4.3-17.el8.x86_64" + }, + { + "srpm_name": "libsemanage", + "name": "libsemanage", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libsemanage-2.8-5.el8.src", + "release": "5.el8", + "nerva": "libsemanage-2.8-5.el8.x86_64" + }, + { + "srpm_name": "dbus", + "name": "dbus-daemon", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dbus-1.12.8-7.el8.src", + "release": "7.el8", + "nerva": "dbus-daemon-1:1.12.8-7.el8.x86_64" + }, + { + "srpm_name": "util-linux", + "name": "libfdisk", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "util-linux-2.32.1-8.el8.src", + "release": "8.el8", + "nerva": "libfdisk-2.32.1-8.el8.x86_64" + }, + { + "srpm_name": "mpfr", + "name": "mpfr", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "mpfr-3.1.6-1.el8.src", + "release": "1.el8", + "nerva": "mpfr-3.1.6-1.el8.x86_64" + }, + { + "srpm_name": "gnutls", + "name": "gnutls", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gnutls-3.6.5-2.el8.src", + "release": "2.el8", + "nerva": "gnutls-3.6.5-2.el8.x86_64" + }, + { + "srpm_name": "libcomps", + "name": "libcomps", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libcomps-0.1.8-13.el8.src", + "release": "13.el8", + "nerva": "libcomps-0.1.8-13.el8.x86_64" + }, + { + "srpm_name": "libksba", + "name": "libksba", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libksba-1.3.5-7.el8.src", + "release": "7.el8", + "nerva": "libksba-1.3.5-7.el8.x86_64" + }, + { + "srpm_name": "cpio", + "name": "cpio", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "cpio-2.12-8.el8.src", + "release": "8.el8", + "nerva": "cpio-2.12-8.el8.x86_64" + }, + { + "srpm_name": "ipcalc", + "name": "ipcalc", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "ipcalc-0.2.4-3.el8.src", + "release": "3.el8", + "nerva": "ipcalc-0.2.4-3.el8.x86_64" + }, + { + "srpm_name": "iproute", + "name": "iproute", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "iproute-4.18.0-11.el8.src", + "release": "11.el8", + "nerva": "iproute-4.18.0-11.el8.x86_64" + }, + { + "srpm_name": "pkgconf", + "name": "libpkgconf", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pkgconf-1.4.2-1.el8.src", + "release": "1.el8", + "nerva": "libpkgconf-1.4.2-1.el8.x86_64" + }, + { + "srpm_name": "pkgconf", + "name": "pkgconf-pkg-config", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pkgconf-1.4.2-1.el8.src", + "release": "1.el8", + "nerva": "pkgconf-pkg-config-1.4.2-1.el8.x86_64" + }, + { + "srpm_name": "iptables", + "name": "iptables-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "iptables-1.8.2-9.el8.src", + "release": "9.el8", + "nerva": "iptables-libs-1.8.2-9.el8.x86_64" + }, + { + "srpm_name": "libsigsegv", + "name": "libsigsegv", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libsigsegv-2.11-5.el8.src", + "release": "5.el8", + "nerva": "libsigsegv-2.11-5.el8.x86_64" + }, + { + "srpm_name": "libverto", + "name": "libverto", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libverto-0.3.0-5.el8.src", + "release": "5.el8", + "nerva": "libverto-0.3.0-5.el8.x86_64" + }, + { + "srpm_name": "libtirpc", + "name": "libtirpc", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libtirpc-1.1.4-3.el8.src", + "release": "3.el8", + "nerva": "libtirpc-1.1.4-3.el8.x86_64" + }, + { + "srpm_name": "python-pip", + "name": "platform-python-pip", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "python-pip-9.0.3-13.el8.src", + "release": "13.el8", + "nerva": "platform-python-pip-9.0.3-13.el8.noarch" + }, + { + "srpm_name": "python3", + "name": "platform-python", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "python3-3.6.8-1.el8.0.1.src", + "release": "1.el8.0.1", + "nerva": "platform-python-3.6.8-1.el8.0.1.x86_64" + }, + { + "srpm_name": "libpwquality", + "name": "libpwquality", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libpwquality-1.4.0-9.el8.src", + "release": "9.el8", + "nerva": "libpwquality-1.4.0-9.el8.x86_64" + }, + { + "srpm_name": "util-linux", + "name": "util-linux", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "util-linux-2.32.1-8.el8.src", + "release": "8.el8", + "nerva": "util-linux-2.32.1-8.el8.x86_64" + }, + { + "srpm_name": "curl", + "name": "curl", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "curl-7.61.1-8.el8.src", + "release": "8.el8", + "nerva": "curl-7.61.1-8.el8.x86_64" + }, + { + "srpm_name": "rpm", + "name": "rpm-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "rpm-4.14.2-9.el8.src", + "release": "9.el8", + "nerva": "rpm-libs-4.14.2-9.el8.x86_64" + }, + { + "srpm_name": "lvm2", + "name": "device-mapper", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "lvm2-2.03.02-6.el8.src", + "release": "6.el8", + "nerva": "device-mapper-8:1.02.155-6.el8.x86_64" + }, + { + "srpm_name": "cryptsetup", + "name": "cryptsetup-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "cryptsetup-2.0.6-1.el8.src", + "release": "1.el8", + "nerva": "cryptsetup-libs-2.0.6-1.el8.x86_64" + }, + { + "srpm_name": "elfutils", + "name": "elfutils-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "elfutils-0.174-6.el8.src", + "release": "6.el8", + "nerva": "elfutils-libs-0.174-6.el8.x86_64" + }, + { + "srpm_name": "systemd", + "name": "systemd", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "systemd-239-13.el8.src", + "release": "13.el8", + "nerva": "systemd-239-13.el8.x86_64" + }, + { + "srpm_name": "iputils", + "name": "iputils", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "iputils-20180629-1.el8.src", + "release": "1.el8", + "nerva": "iputils-20180629-1.el8.x86_64" + }, + { + "srpm_name": "libkcapi", + "name": "libkcapi-hmaccalc", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libkcapi-1.1.1-16_1.el8.src", + "release": "16_1.el8", + "nerva": "libkcapi-hmaccalc-1.1.1-16_1.el8.x86_64" + }, + { + "srpm_name": "dracut", + "name": "dracut", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dracut-049-10.git20190115.el8.src", + "release": "10.git20190115.el8", + "nerva": "dracut-049-10.git20190115.el8.x86_64" + }, + { + "srpm_name": "libcomps", + "name": "python3-libcomps", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libcomps-0.1.8-13.el8.src", + "release": "13.el8", + "nerva": "python3-libcomps-0.1.8-13.el8.x86_64" + }, + { + "srpm_name": "python-iniparse", + "name": "python3-iniparse", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "python-iniparse-0.4-31.el8.src", + "release": "31.el8", + "nerva": "python3-iniparse-0.4-31.el8.noarch" + }, + { + "srpm_name": "dhcp", + "name": "dhcp-client", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dhcp-4.3.6-30.el8.src", + "release": "30.el8", + "nerva": "dhcp-client-12:4.3.6-30.el8.x86_64" + }, + { + "srpm_name": "cyrus-sasl", + "name": "cyrus-sasl-lib", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "cyrus-sasl-2.1.27-0.3rc7.el8.src", + "release": "0.3rc7.el8", + "nerva": "cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_64" + }, + { + "srpm_name": "libyaml", + "name": "libyaml", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libyaml-0.1.7-5.el8.src", + "release": "5.el8", + "nerva": "libyaml-0.1.7-5.el8.x86_64" + }, + { + "srpm_name": "npth", + "name": "npth", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "npth-1.5-4.el8.src", + "release": "4.el8", + "nerva": "npth-1.5-4.el8.x86_64" + }, + { + "srpm_name": "gpgme", + "name": "gpgme", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gpgme-1.10.0-6.el8.0.1.src", + "release": "6.el8.0.1", + "nerva": "gpgme-1.10.0-6.el8.0.1.x86_64" + }, + { + "srpm_name": "libdnf", + "name": "libdnf", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libdnf-0.22.5-4.el8.src", + "release": "4.el8", + "nerva": "libdnf-0.22.5-4.el8.x86_64" + }, + { + "srpm_name": "libdnf", + "name": "python3-hawkey", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libdnf-0.22.5-4.el8.src", + "release": "4.el8", + "nerva": "python3-hawkey-0.22.5-4.el8.x86_64" + }, + { + "srpm_name": "rpm", + "name": "rpm-build-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "rpm-4.14.2-9.el8.src", + "release": "9.el8", + "nerva": "rpm-build-libs-4.14.2-9.el8.x86_64" + }, + { + "srpm_name": "dnf", + "name": "python3-dnf", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dnf-4.0.9.2-5.el8.src", + "release": "5.el8", + "nerva": "python3-dnf-4.0.9.2-5.el8.noarch" + }, + { + "srpm_name": "dnf", + "name": "yum", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dnf-4.0.9.2-5.el8.src", + "release": "5.el8", + "nerva": "yum-4.0.9.2-5.el8.noarch" + }, + { + "srpm_name": "binutils", + "name": "binutils", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "binutils-2.30-49.el8.src", + "release": "49.el8", + "nerva": "binutils-2.30-49.el8.x86_64" + }, + { + "srpm_name": "vim", + "name": "vim-minimal", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "vim-8.0.1763-10.el8.src", + "release": "10.el8", + "nerva": "vim-minimal-2:8.0.1763-10.el8.x86_64" + }, + { + "srpm_name": "less", + "name": "less", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "less-530-1.el8.src", + "release": "1.el8", + "nerva": "less-530-1.el8.x86_64" + }, + { + "srpm_name": "rootfiles", + "name": "rootfiles", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "rootfiles-8.1-22.el8.src", + "release": "22.el8", + "nerva": "rootfiles-8.1-22.el8.noarch" + }, + { + "srpm_name": "gcc", + "name": "libgcc", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gcc-8.2.1-3.5.el8.src", + "release": "3.5.el8", + "nerva": "libgcc-8.2.1-3.5.el8.x86_64" + }, + { + "srpm_name": "pkgconf", + "name": "pkgconf-m4", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pkgconf-1.4.2-1.el8.src", + "release": "1.el8", + "nerva": "pkgconf-m4-1.4.2-1.el8.noarch" + }, + { + "srpm_name": "libreport", + "name": "libreport-filesystem", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libreport-2.9.5-6.el8.src", + "release": "6.el8", + "nerva": "libreport-filesystem-2.9.5-6.el8.x86_64" + }, + { + "srpm_name": "dhcp", + "name": "dhcp-common", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dhcp-4.3.6-30.el8.src", + "release": "30.el8", + "nerva": "dhcp-common-12:4.3.6-30.el8.noarch" + }, + { + "srpm_name": "centos-release", + "name": "centos-release", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "centos-release-8.0-0.1905.0.9.el8.src", + "release": "0.1905.0.9.el8", + "nerva": "centos-release-8.0-0.1905.0.9.el8.x86_64" + }, + { + "srpm_name": "filesystem", + "name": "filesystem", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "filesystem-3.8-2.el8.src", + "release": "2.el8", + "nerva": "filesystem-3.8-2.el8.x86_64" + }, + { + "srpm_name": "pcre2", + "name": "pcre2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pcre2-10.32-1.el8.src", + "release": "1.el8", + "nerva": "pcre2-10.32-1.el8.x86_64" + }, + { + "srpm_name": "ncurses", + "name": "ncurses-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "ncurses-6.1-7.20180224.el8.src", + "release": "7.20180224.el8", + "nerva": "ncurses-libs-6.1-7.20180224.el8.x86_64" + }, + { + "srpm_name": "glibc", + "name": "glibc-common", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "glibc-2.28-42.el8.1.src", + "release": "42.el8.1", + "nerva": "glibc-common-2.28-42.el8.1.x86_64" + }, + { + "srpm_name": "bash", + "name": "bash", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "bash-4.4.19-7.el8.src", + "release": "7.el8", + "nerva": "bash-4.4.19-7.el8.x86_64" + }, + { + "srpm_name": "zlib", + "name": "zlib", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "zlib-1.2.11-10.el8.src", + "release": "10.el8", + "nerva": "zlib-1.2.11-10.el8.x86_64" + }, + { + "srpm_name": "bzip2", + "name": "bzip2-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "bzip2-1.0.6-26.el8.src", + "release": "26.el8", + "nerva": "bzip2-libs-1.0.6-26.el8.x86_64" + }, + { + "srpm_name": "texinfo", + "name": "info", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "texinfo-6.5-4.el8.src", + "release": "4.el8", + "nerva": "info-6.5-4.el8.x86_64" + }, + { + "srpm_name": "elfutils", + "name": "elfutils-libelf", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "elfutils-0.174-6.el8.src", + "release": "6.el8", + "nerva": "elfutils-libelf-0.174-6.el8.x86_64" + }, + { + "srpm_name": "libxcrypt", + "name": "libxcrypt", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libxcrypt-4.1.1-4.el8.src", + "release": "4.el8", + "nerva": "libxcrypt-4.1.1-4.el8.x86_64" + }, + { + "srpm_name": "sqlite", + "name": "sqlite-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "sqlite-3.26.0-3.el8.src", + "release": "3.el8", + "nerva": "sqlite-libs-3.26.0-3.el8.x86_64" + }, + { + "srpm_name": "gcc", + "name": "libstdc++", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gcc-8.2.1-3.5.el8.src", + "release": "3.5.el8", + "nerva": "libstdc++-8.2.1-3.5.el8.x86_64" + }, + { + "srpm_name": "popt", + "name": "popt", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "popt-1.16-14.el8.src", + "release": "14.el8", + "nerva": "popt-1.16-14.el8.x86_64" + }, + { + "srpm_name": "readline", + "name": "readline", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "readline-7.0-10.el8.src", + "release": "10.el8", + "nerva": "readline-7.0-10.el8.x86_64" + }, + { + "srpm_name": "json-c", + "name": "json-c", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "json-c-0.13.1-0.2.el8.src", + "release": "0.2.el8", + "nerva": "json-c-0.13.1-0.2.el8.x86_64" + }, + { + "srpm_name": "acl", + "name": "libacl", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "acl-2.2.53-1.el8.src", + "release": "1.el8", + "nerva": "libacl-2.2.53-1.el8.x86_64" + }, + { + "srpm_name": "sed", + "name": "sed", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "sed-4.5-1.el8.src", + "release": "1.el8", + "nerva": "sed-4.5-1.el8.x86_64" + }, + { + "srpm_name": "util-linux", + "name": "libmount", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "util-linux-2.32.1-8.el8.src", + "release": "8.el8", + "nerva": "libmount-2.32.1-8.el8.x86_64" + }, + { + "srpm_name": "audit", + "name": "audit-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "audit-3.0-0.10.20180831git0047a6c.el8.src", + "release": "0.10.20180831git0047a6c.el8", + "nerva": "audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_64" + }, + { + "srpm_name": "util-linux", + "name": "libsmartcols", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "util-linux-2.32.1-8.el8.src", + "release": "8.el8", + "nerva": "libsmartcols-2.32.1-8.el8.x86_64" + }, + { + "srpm_name": "lz4", + "name": "lz4-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "lz4-1.8.1.2-4.el8.src", + "release": "4.el8", + "nerva": "lz4-libs-1.8.1.2-4.el8.x86_64" + }, + { + "srpm_name": "libgcrypt", + "name": "libgcrypt", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libgcrypt-1.8.3-2.el8.src", + "release": "2.el8", + "nerva": "libgcrypt-1.8.3-2.el8.x86_64" + }, + { + "srpm_name": "cracklib", + "name": "cracklib", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "cracklib-2.9.6-15.el8.src", + "release": "15.el8", + "nerva": "cracklib-2.9.6-15.el8.x86_64" + }, + { + "srpm_name": "libunistring", + "name": "libunistring", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libunistring-0.9.9-3.el8.src", + "release": "3.el8", + "nerva": "libunistring-0.9.9-3.el8.x86_64" + }, + { + "srpm_name": "file", + "name": "file-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "file-5.33-8.el8.src", + "release": "8.el8", + "nerva": "file-libs-5.33-8.el8.x86_64" + }, + { + "srpm_name": "keyutils", + "name": "keyutils-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "keyutils-1.5.10-6.el8.src", + "release": "6.el8", + "nerva": "keyutils-libs-1.5.10-6.el8.x86_64" + }, + { + "srpm_name": "p11-kit", + "name": "p11-kit-trust", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "p11-kit-0.23.14-4.el8.src", + "release": "4.el8", + "nerva": "p11-kit-trust-0.23.14-4.el8.x86_64" + }, + { + "srpm_name": "pcre", + "name": "pcre", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pcre-8.42-4.el8.src", + "release": "4.el8", + "nerva": "pcre-8.42-4.el8.x86_64" + }, + { + "srpm_name": "systemd", + "name": "systemd-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "systemd-239-13.el8.src", + "release": "13.el8", + "nerva": "systemd-libs-239-13.el8.x86_64" + }, + { + "srpm_name": "crypto-policies", + "name": "crypto-policies", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "crypto-policies-20181217-6.git9a35207.el8.src", + "release": "6.git9a35207.el8", + "nerva": "crypto-policies-20181217-6.git9a35207.el8.noarch" + }, + { + "srpm_name": "ca-certificates", + "name": "ca-certificates", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "ca-certificates-2018.2.24-6.el8.src", + "release": "6.el8", + "nerva": "ca-certificates-2018.2.24-6.el8.noarch" + }, + { + "srpm_name": "libdb", + "name": "libdb", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libdb-5.3.28-36.el8.src", + "release": "36.el8", + "nerva": "libdb-5.3.28-36.el8.x86_64" + }, + { + "srpm_name": "ima-evm-utils", + "name": "ima-evm-utils", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "ima-evm-utils-1.1-4.el8.src", + "release": "4.el8", + "nerva": "ima-evm-utils-1.1-4.el8.x86_64" + }, + { + "srpm_name": "libdb", + "name": "libdb-utils", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libdb-5.3.28-36.el8.src", + "release": "36.el8", + "nerva": "libdb-utils-5.3.28-36.el8.x86_64" + }, + { + "srpm_name": "dbus", + "name": "dbus-tools", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dbus-1.12.8-7.el8.src", + "release": "7.el8", + "nerva": "dbus-tools-1:1.12.8-7.el8.x86_64" + }, + { + "srpm_name": "libusbx", + "name": "libusbx", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libusbx-1.0.22-1.el8.src", + "release": "1.el8", + "nerva": "libusbx-1.0.22-1.el8.x86_64" + }, + { + "srpm_name": "xz", + "name": "xz", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "xz-5.2.4-3.el8.src", + "release": "3.el8", + "nerva": "xz-5.2.4-3.el8.x86_64" + }, + { + "srpm_name": "gdbm", + "name": "gdbm", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gdbm-1.18-1.el8.src", + "release": "1.el8", + "nerva": "gdbm-1:1.18-1.el8.x86_64" + }, + { + "srpm_name": "shadow-utils", + "name": "shadow-utils", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "shadow-utils-4.6-7.el8.src", + "release": "7.el8", + "nerva": "shadow-utils-2:4.6-7.el8.x86_64" + }, + { + "srpm_name": "libutempter", + "name": "libutempter", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libutempter-1.1.6-14.el8.src", + "release": "14.el8", + "nerva": "libutempter-1.1.6-14.el8.x86_64" + }, + { + "srpm_name": "acl", + "name": "acl", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "acl-2.2.53-1.el8.src", + "release": "1.el8", + "nerva": "acl-2.2.53-1.el8.x86_64" + }, + { + "srpm_name": "nettle", + "name": "nettle", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "nettle-3.4.1-1.el8.src", + "release": "1.el8", + "nerva": "nettle-3.4.1-1.el8.x86_64" + }, + { + "srpm_name": "snappy", + "name": "snappy", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "snappy-1.1.7-5.el8.src", + "release": "5.el8", + "nerva": "snappy-1.1.7-5.el8.x86_64" + }, + { + "srpm_name": "libmetalink", + "name": "libmetalink", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libmetalink-0.1.3-7.el8.src", + "release": "7.el8", + "nerva": "libmetalink-0.1.3-7.el8.x86_64" + }, + { + "srpm_name": "findutils", + "name": "findutils", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "findutils-4.6.0-20.el8.src", + "release": "20.el8", + "nerva": "findutils-1:4.6.0-20.el8.x86_64" + }, + { + "srpm_name": "ethtool", + "name": "ethtool", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "ethtool-4.16-1.el8.src", + "release": "1.el8", + "nerva": "ethtool-2:4.16-1.el8.x86_64" + }, + { + "srpm_name": "libmnl", + "name": "libmnl", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libmnl-1.0.4-6.el8.src", + "release": "6.el8", + "nerva": "libmnl-1.0.4-6.el8.x86_64" + }, + { + "srpm_name": "nghttp2", + "name": "libnghttp2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "nghttp2-1.33.0-1.el8.src", + "release": "1.el8", + "nerva": "libnghttp2-1.33.0-1.el8.x86_64" + }, + { + "srpm_name": "pkgconf", + "name": "pkgconf", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pkgconf-1.4.2-1.el8.src", + "release": "1.el8", + "nerva": "pkgconf-1.4.2-1.el8.x86_64" + }, + { + "srpm_name": "libpcap", + "name": "libpcap", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libpcap-1.9.0-1.el8.src", + "release": "1.el8", + "nerva": "libpcap-14:1.9.0-1.el8.x86_64" + }, + { + "srpm_name": "libseccomp", + "name": "libseccomp", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libseccomp-2.3.3-3.el8.src", + "release": "3.el8", + "nerva": "libseccomp-2.3.3-3.el8.x86_64" + }, + { + "srpm_name": "gawk", + "name": "gawk", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gawk-4.2.1-1.el8.src", + "release": "1.el8", + "nerva": "gawk-4.2.1-1.el8.x86_64" + }, + { + "srpm_name": "krb5", + "name": "krb5-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "krb5-1.16.1-22.el8.src", + "release": "22.el8", + "nerva": "krb5-libs-1.16.1-22.el8.x86_64" + }, + { + "srpm_name": "libnsl2", + "name": "libnsl2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libnsl2-1.2.0-2.20180605git4a062cf.el8.src", + "release": "2.20180605git4a062cf.el8", + "nerva": "libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64" + }, + { + "srpm_name": "python-setuptools", + "name": "platform-python-setuptools", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "python-setuptools-39.2.0-4.el8.src", + "release": "4.el8", + "nerva": "platform-python-setuptools-39.2.0-4.el8.noarch" + }, + { + "srpm_name": "python3", + "name": "python3-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "python3-3.6.8-1.el8.0.1.src", + "release": "1.el8.0.1", + "nerva": "python3-libs-3.6.8-1.el8.0.1.x86_64" + }, + { + "srpm_name": "pam", + "name": "pam", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "pam-1.3.1-4.el8.src", + "release": "4.el8", + "nerva": "pam-1.3.1-4.el8.x86_64" + }, + { + "srpm_name": "curl", + "name": "libcurl-minimal", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "curl-7.61.1-8.el8.src", + "release": "8.el8", + "nerva": "libcurl-minimal-7.61.1-8.el8.x86_64" + }, + { + "srpm_name": "rpm", + "name": "rpm", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "rpm-4.14.2-9.el8.src", + "release": "9.el8", + "nerva": "rpm-4.14.2-9.el8.x86_64" + }, + { + "srpm_name": "libsolv", + "name": "libsolv", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libsolv-0.6.35-6.el8.src", + "release": "6.el8", + "nerva": "libsolv-0.6.35-6.el8.x86_64" + }, + { + "srpm_name": "lvm2", + "name": "device-mapper-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "lvm2-2.03.02-6.el8.src", + "release": "6.el8", + "nerva": "device-mapper-libs-8:1.02.155-6.el8.x86_64" + }, + { + "srpm_name": "elfutils", + "name": "elfutils-default-yama-scope", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "elfutils-0.174-6.el8.src", + "release": "6.el8", + "nerva": "elfutils-default-yama-scope-0.174-6.el8.noarch" + }, + { + "srpm_name": "systemd", + "name": "systemd-pam", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "systemd-239-13.el8.src", + "release": "13.el8", + "nerva": "systemd-pam-239-13.el8.x86_64" + }, + { + "srpm_name": "dbus", + "name": "dbus", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dbus-1.12.8-7.el8.src", + "release": "7.el8", + "nerva": "dbus-1:1.12.8-7.el8.x86_64" + }, + { + "srpm_name": "libkcapi", + "name": "libkcapi", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libkcapi-1.1.1-16_1.el8.src", + "release": "16_1.el8", + "nerva": "libkcapi-1.1.1-16_1.el8.x86_64" + }, + { + "srpm_name": "systemd", + "name": "systemd-udev", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "systemd-239-13.el8.src", + "release": "13.el8", + "nerva": "systemd-udev-239-13.el8.x86_64" + }, + { + "srpm_name": "dracut", + "name": "dracut-squash", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dracut-049-10.git20190115.el8.src", + "release": "10.git20190115.el8", + "nerva": "dracut-squash-049-10.git20190115.el8.x86_64" + }, + { + "srpm_name": "python-six", + "name": "python3-six", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "python-six-1.11.0-8.el8.src", + "release": "8.el8", + "nerva": "python3-six-1.11.0-8.el8.noarch" + }, + { + "srpm_name": "bind", + "name": "bind-export-libs", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "bind-9.11.4-16.P2.el8.src", + "release": "16.P2.el8", + "nerva": "bind-export-libs-32:9.11.4-16.P2.el8.x86_64" + }, + { + "srpm_name": "dracut", + "name": "dracut-network", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dracut-049-10.git20190115.el8.src", + "release": "10.git20190115.el8", + "nerva": "dracut-network-049-10.git20190115.el8.x86_64" + }, + { + "srpm_name": "openldap", + "name": "openldap", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "openldap-2.4.46-9.el8.src", + "release": "9.el8", + "nerva": "openldap-2.4.46-9.el8.x86_64" + }, + { + "srpm_name": "libmodulemd", + "name": "libmodulemd1", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libmodulemd-2.0.0-5.el8.src", + "release": "5.el8", + "nerva": "libmodulemd1-1.8.0-5.el8.x86_64" + }, + { + "srpm_name": "gnupg2", + "name": "gnupg2", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gnupg2-2.2.9-1.el8.src", + "release": "1.el8", + "nerva": "gnupg2-2.2.9-1.el8.x86_64" + }, + { + "srpm_name": "librepo", + "name": "librepo", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "librepo-1.9.2-1.el8.src", + "release": "1.el8", + "nerva": "librepo-1.9.2-1.el8.x86_64" + }, + { + "srpm_name": "libdnf", + "name": "python3-libdnf", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "libdnf-0.22.5-4.el8.src", + "release": "4.el8", + "nerva": "python3-libdnf-0.22.5-4.el8.x86_64" + }, + { + "srpm_name": "gpgme", + "name": "python3-gpg", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "gpgme-1.10.0-6.el8.0.1.src", + "release": "6.el8.0.1", + "nerva": "python3-gpg-1.10.0-6.el8.0.1.x86_64" + }, + { + "srpm_name": "rpm", + "name": "python3-rpm", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "rpm-4.14.2-9.el8.src", + "release": "9.el8", + "nerva": "python3-rpm-4.14.2-9.el8.x86_64" + }, + { + "srpm_name": "dnf", + "name": "dnf", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "dnf-4.0.9.2-5.el8.src", + "release": "5.el8", + "nerva": "dnf-4.0.9.2-5.el8.noarch" + }, + { + "srpm_name": "kexec-tools", + "name": "kexec-tools", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "kexec-tools-2.0.17-28.el8.src", + "release": "28.el8", + "nerva": "kexec-tools-2.0.17-28.el8.x86_64" + }, + { + "srpm_name": "tar", + "name": "tar", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "tar-1.30-4.el8.src", + "release": "4.el8", + "nerva": "tar-2:1.30-4.el8.x86_64" + }, + { + "srpm_name": "hostname", + "name": "hostname", + "architecture": "x86_64", + "gpg": "05b555b38483c65d", + "srpm_nevra": "hostname-3.20-6.el8.src", + "release": "6.el8", + "nerva": "hostname-3.20-6.el8.x86_64" + }, + { + "srpm_name": "langpacks", + "name": "langpacks-en", + "architecture": "noarch", + "gpg": "05b555b38483c65d", + "srpm_nevra": "langpacks-1.0-12.el8.src", + "release": "12.el8", + "nerva": "langpacks-en-1.0-12.el8.noarch" + } + ] +} diff --git a/rhel/testdata/httpd-24_9.5-1734525854.rpm-manifest.json b/rhel/testdata/httpd-24_9.5-1734525854.rpm-manifest.json new file mode 100644 index 000000000..0554815d9 --- /dev/null +++ b/rhel/testdata/httpd-24_9.5-1734525854.rpm-manifest.json @@ -0,0 +1,2677 @@ +{ + "rpms": [ + { + "name": "acl", + "version": "2.3.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "acl", + "srpm_nevra": "acl-2.3.1-4.el9.src", + "release": "4.el9" + }, + { + "name": "alternatives", + "version": "1.24", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "chkconfig", + "srpm_nevra": "chkconfig-1.24-1.el9_5.1.src", + "release": "1.el9_5.1" + }, + { + "name": "apr", + "version": "1.7.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "apr", + "srpm_nevra": "apr-1.7.0-12.el9_3.src", + "release": "12.el9_3" + }, + { + "name": "apr-util", + "version": "1.6.1", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "apr-util", + "srpm_nevra": "apr-util-1.6.1-23.el9.src", + "release": "23.el9" + }, + { + "name": "apr-util-bdb", + "version": "1.6.1", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "apr-util", + "srpm_nevra": "apr-util-1.6.1-23.el9.src", + "release": "23.el9" + }, + { + "name": "apr-util-ldap", + "version": "1.6.1", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "apr-util", + "srpm_nevra": "apr-util-1.6.1-23.el9.src", + "release": "23.el9" + }, + { + "name": "apr-util-openssl", + "version": "1.6.1", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "apr-util", + "srpm_nevra": "apr-util-1.6.1-23.el9.src", + "release": "23.el9" + }, + { + "name": "attr", + "version": "2.5.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "attr", + "srpm_nevra": "attr-2.5.1-3.el9.src", + "release": "3.el9" + }, + { + "name": "audit-libs", + "version": "3.1.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "audit", + "srpm_nevra": "audit-3.1.5-1.el9.src", + "release": "1.el9" + }, + { + "name": "basesystem", + "version": "11", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "basesystem", + "srpm_nevra": "basesystem-11-13.el9.src", + "release": "13.el9" + }, + { + "name": "bash", + "version": "5.1.8", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "bash", + "srpm_nevra": "bash-5.1.8-9.el9.src", + "release": "9.el9" + }, + { + "name": "bind-libs", + "version": "32:9.16.23", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "bind", + "srpm_nevra": "bind-9.16.23-24.el9_5.src", + "release": "24.el9_5" + }, + { + "name": "bind-license", + "version": "32:9.16.23", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "bind", + "srpm_nevra": "bind-9.16.23-24.el9_5.src", + "release": "24.el9_5" + }, + { + "name": "bind-utils", + "version": "32:9.16.23", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "bind", + "srpm_nevra": "bind-9.16.23-24.el9_5.src", + "release": "24.el9_5" + }, + { + "name": "bsdtar", + "version": "3.5.3", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libarchive", + "srpm_nevra": "libarchive-3.5.3-4.el9.src", + "release": "4.el9" + }, + { + "name": "bzip2-libs", + "version": "1.0.8", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "bzip2", + "srpm_nevra": "bzip2-1.0.8-8.el9.src", + "release": "8.el9" + }, + { + "name": "ca-certificates", + "version": "2024.2.69_v8.0.303", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "ca-certificates", + "srpm_nevra": "ca-certificates-2024.2.69_v8.0.303-91.4.el9_4.src", + "release": "91.4.el9_4" + }, + { + "name": "coreutils-single", + "version": "8.32", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "coreutils", + "srpm_nevra": "coreutils-8.32-36.el9.src", + "release": "36.el9" + }, + { + "name": "cracklib", + "version": "2.9.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "cracklib", + "srpm_nevra": "cracklib-2.9.6-27.el9.src", + "release": "27.el9" + }, + { + "name": "cracklib-dicts", + "version": "2.9.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "cracklib", + "srpm_nevra": "cracklib-2.9.6-27.el9.src", + "release": "27.el9" + }, + { + "name": "crypto-policies", + "version": "20240828", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "crypto-policies", + "srpm_nevra": "crypto-policies-20240828-2.git626aa59.el9_5.src", + "release": "2.git626aa59.el9_5" + }, + { + "name": "crypto-policies-scripts", + "version": "20240828", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "crypto-policies", + "srpm_nevra": "crypto-policies-20240828-2.git626aa59.el9_5.src", + "release": "2.git626aa59.el9_5" + }, + { + "name": "curl-minimal", + "version": "7.76.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "curl", + "srpm_nevra": "curl-7.76.1-31.el9.src", + "release": "31.el9" + }, + { + "name": "cyrus-sasl-lib", + "version": "2.1.27", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "cyrus-sasl", + "srpm_nevra": "cyrus-sasl-2.1.27-21.el9.src", + "release": "21.el9" + }, + { + "name": "dbus", + "version": "1:1.12.20", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "dbus", + "srpm_nevra": "dbus-1.12.20-8.el9.src", + "release": "8.el9" + }, + { + "name": "dbus-broker", + "version": "28", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "dbus-broker", + "srpm_nevra": "dbus-broker-28-7.el9.src", + "release": "7.el9" + }, + { + "name": "dbus-common", + "version": "1:1.12.20", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dbus", + "srpm_nevra": "dbus-1.12.20-8.el9.src", + "release": "8.el9" + }, + { + "name": "dbus-libs", + "version": "1:1.12.20", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "dbus", + "srpm_nevra": "dbus-1.12.20-8.el9.src", + "release": "8.el9" + }, + { + "name": "dejavu-sans-fonts", + "version": "2.37", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dejavu-fonts", + "srpm_nevra": "dejavu-fonts-2.37-18.el9.src", + "release": "18.el9" + }, + { + "name": "dmidecode", + "version": "1:3.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "dmidecode", + "srpm_nevra": "dmidecode-3.6-1.el9.src", + "release": "1.el9" + }, + { + "name": "dnf", + "version": "4.14.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dnf", + "srpm_nevra": "dnf-4.14.0-17.el9.src", + "release": "17.el9" + }, + { + "name": "dnf-data", + "version": "4.14.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dnf", + "srpm_nevra": "dnf-4.14.0-17.el9.src", + "release": "17.el9" + }, + { + "name": "elfutils-default-yama-scope", + "version": "0.191", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0.191-4.el9.src", + "release": "4.el9" + }, + { + "name": "elfutils-libelf", + "version": "0.191", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0.191-4.el9.src", + "release": "4.el9" + }, + { + "name": "elfutils-libs", + "version": "0.191", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0.191-4.el9.src", + "release": "4.el9" + }, + { + "name": "environment-modules", + "version": "5.3.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "environment-modules", + "srpm_nevra": "environment-modules-5.3.0-1.el9.src", + "release": "1.el9" + }, + { + "name": "expat", + "version": "2.5.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "expat", + "srpm_nevra": "expat-2.5.0-3.el9_5.1.src", + "release": "3.el9_5.1" + }, + { + "name": "file-libs", + "version": "5.39", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "file", + "srpm_nevra": "file-5.39-16.el9.src", + "release": "16.el9" + }, + { + "name": "filesystem", + "version": "3.16", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "filesystem", + "srpm_nevra": "filesystem-3.16-5.el9.src", + "release": "5.el9" + }, + { + "name": "findutils", + "version": "1:4.8.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "findutils", + "srpm_nevra": "findutils-4.8.0-7.el9.src", + "release": "7.el9" + }, + { + "name": "fonts-filesystem", + "version": "1:2.0.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "fonts-rpm-macros", + "srpm_nevra": "fonts-rpm-macros-2.0.5-7.el9.1.src", + "release": "7.el9.1" + }, + { + "name": "fstrm", + "version": "0.6.1", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "fstrm", + "srpm_nevra": "fstrm-0.6.1-3.el9.src", + "release": "3.el9" + }, + { + "name": "gawk", + "version": "5.1.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gawk", + "srpm_nevra": "gawk-5.1.0-6.el9.src", + "release": "6.el9" + }, + { + "name": "gdb-gdbserver", + "version": "14.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gdb", + "srpm_nevra": "gdb-14.2-3.el9.src", + "release": "3.el9" + }, + { + "name": "gdbm-libs", + "version": "1:1.23", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gdbm", + "srpm_nevra": "gdbm-1.23-1.el9.src", + "release": "1.el9" + }, + { + "name": "gettext", + "version": "0.21", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gettext", + "srpm_nevra": "gettext-0.21-8.el9.src", + "release": "8.el9" + }, + { + "name": "gettext-libs", + "version": "0.21", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gettext", + "srpm_nevra": "gettext-0.21-8.el9.src", + "release": "8.el9" + }, + { + "name": "glib2", + "version": "2.68.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "glib2", + "srpm_nevra": "glib2-2.68.4-14.el9_4.1.src", + "release": "14.el9_4.1" + }, + { + "name": "glibc", + "version": "2.34", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "glibc", + "srpm_nevra": "glibc-2.34-125.el9_5.1.src", + "release": "125.el9_5.1" + }, + { + "name": "glibc-common", + "version": "2.34", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "glibc", + "srpm_nevra": "glibc-2.34-125.el9_5.1.src", + "release": "125.el9_5.1" + }, + { + "name": "glibc-langpack-en", + "version": "2.34", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "glibc", + "srpm_nevra": "glibc-2.34-125.el9_5.1.src", + "release": "125.el9_5.1" + }, + { + "name": "glibc-locale-source", + "version": "2.34", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "glibc", + "srpm_nevra": "glibc-2.34-125.el9_5.1.src", + "release": "125.el9_5.1" + }, + { + "name": "glibc-minimal-langpack", + "version": "2.34", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "glibc", + "srpm_nevra": "glibc-2.34-125.el9_5.1.src", + "release": "125.el9_5.1" + }, + { + "name": "gmp", + "version": "1:6.2.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gmp", + "srpm_nevra": "gmp-6.2.0-13.el9.src", + "release": "13.el9" + }, + { + "name": "gnupg2", + "version": "2.3.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gnupg2", + "srpm_nevra": "gnupg2-2.3.3-4.el9.src", + "release": "4.el9" + }, + { + "name": "gnutls", + "version": "3.8.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gnutls", + "srpm_nevra": "gnutls-3.8.3-4.el9_4.src", + "release": "4.el9_4" + }, + { + "name": "gobject-introspection", + "version": "1.68.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gobject-introspection", + "srpm_nevra": "gobject-introspection-1.68.0-11.el9.src", + "release": "11.el9" + }, + { + "name": "gpgme", + "version": "1.15.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gpgme", + "srpm_nevra": "gpgme-1.15.1-6.el9.src", + "release": "6.el9" + }, + { + "name": "grep", + "version": "3.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "grep", + "srpm_nevra": "grep-3.6-5.el9.src", + "release": "5.el9" + }, + { + "name": "groff-base", + "version": "1.22.4", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "groff", + "srpm_nevra": "groff-1.22.4-10.el9.src", + "release": "10.el9" + }, + { + "name": "gzip", + "version": "1.12", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gzip", + "srpm_nevra": "gzip-1.12-1.el9.src", + "release": "1.el9" + }, + { + "name": "hostname", + "version": "3.23", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "hostname", + "srpm_nevra": "hostname-3.23-6.el9.src", + "release": "6.el9" + }, + { + "name": "httpd", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "httpd-core", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "httpd-filesystem", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "httpd-tools", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "ima-evm-utils", + "version": "1.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "ima-evm-utils", + "srpm_nevra": "ima-evm-utils-1.5-2.el9.src", + "release": "2.el9" + }, + { + "name": "iproute", + "version": "6.2.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "iproute", + "srpm_nevra": "iproute-6.2.0-6.el9_4.src", + "release": "6.el9_4" + }, + { + "name": "json-c", + "version": "0.14", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "json-c", + "srpm_nevra": "json-c-0.14-11.el9.src", + "release": "11.el9" + }, + { + "name": "json-glib", + "version": "1.6.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "json-glib", + "srpm_nevra": "json-glib-1.6.6-1.el9.src", + "release": "1.el9" + }, + { + "name": "keyutils", + "version": "1.6.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "keyutils", + "srpm_nevra": "keyutils-1.6.3-1.el9.src", + "release": "1.el9" + }, + { + "name": "keyutils-libs", + "version": "1.6.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "keyutils", + "srpm_nevra": "keyutils-1.6.3-1.el9.src", + "release": "1.el9" + }, + { + "name": "kmod-libs", + "version": "28", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "kmod", + "srpm_nevra": "kmod-28-10.el9.src", + "release": "10.el9" + }, + { + "name": "krb5-libs", + "version": "1.21.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "krb5", + "srpm_nevra": "krb5-1.21.1-4.el9_5.src", + "release": "4.el9_5" + }, + { + "name": "langpacks-core-en", + "version": "3.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "langpacks", + "srpm_nevra": "langpacks-3.0-16.el9.src", + "release": "16.el9" + }, + { + "name": "langpacks-core-font-en", + "version": "3.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "langpacks", + "srpm_nevra": "langpacks-3.0-16.el9.src", + "release": "16.el9" + }, + { + "name": "langpacks-en", + "version": "3.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "langpacks", + "srpm_nevra": "langpacks-3.0-16.el9.src", + "release": "16.el9" + }, + { + "name": "lasso", + "version": "2.7.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "lasso", + "srpm_nevra": "lasso-2.7.0-11.el9.src", + "release": "11.el9" + }, + { + "name": "less", + "version": "590", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "less", + "srpm_nevra": "less-590-5.el9.src", + "release": "5.el9" + }, + { + "name": "libacl", + "version": "2.3.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "acl", + "srpm_nevra": "acl-2.3.1-4.el9.src", + "release": "4.el9" + }, + { + "name": "libarchive", + "version": "3.5.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libarchive", + "srpm_nevra": "libarchive-3.5.3-4.el9.src", + "release": "4.el9" + }, + { + "name": "libassuan", + "version": "2.5.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libassuan", + "srpm_nevra": "libassuan-2.5.5-3.el9.src", + "release": "3.el9" + }, + { + "name": "libattr", + "version": "2.5.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "attr", + "srpm_nevra": "attr-2.5.1-3.el9.src", + "release": "3.el9" + }, + { + "name": "libblkid", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "libbpf", + "version": "2:1.4.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libbpf", + "srpm_nevra": "libbpf-1.4.0-1.el9.src", + "release": "1.el9" + }, + { + "name": "libbrotli", + "version": "1.0.9", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "brotli", + "srpm_nevra": "brotli-1.0.9-7.el9_5.src", + "release": "7.el9_5" + }, + { + "name": "libcap", + "version": "2.48", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libcap", + "srpm_nevra": "libcap-2.48-9.el9_2.src", + "release": "9.el9_2" + }, + { + "name": "libcap-ng", + "version": "0.8.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libcap-ng", + "srpm_nevra": "libcap-ng-0.8.2-7.el9.src", + "release": "7.el9" + }, + { + "name": "libcom_err", + "version": "1.46.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "e2fsprogs", + "srpm_nevra": "e2fsprogs-1.46.5-5.el9.src", + "release": "5.el9" + }, + { + "name": "libcomps", + "version": "0.1.18", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libcomps", + "srpm_nevra": "libcomps-0.1.18-1.el9.src", + "release": "1.el9" + }, + { + "name": "libcurl-minimal", + "version": "7.76.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "curl", + "srpm_nevra": "curl-7.76.1-31.el9.src", + "release": "31.el9" + }, + { + "name": "libdb", + "version": "5.3.28", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libdb", + "srpm_nevra": "libdb-5.3.28-54.el9.src", + "release": "54.el9" + }, + { + "name": "libdnf", + "version": "0.69.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libdnf", + "srpm_nevra": "libdnf-0.69.0-12.el9.src", + "release": "12.el9" + }, + { + "name": "libdnf-plugin-subscription-manager", + "version": "1.29.42", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-1.29.42-1.el9.src", + "release": "1.el9" + }, + { + "name": "libeconf", + "version": "0.4.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libeconf", + "srpm_nevra": "libeconf-0.4.1-4.el9.src", + "release": "4.el9" + }, + { + "name": "libevent", + "version": "2.1.12", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libevent", + "srpm_nevra": "libevent-2.1.12-8.el9_4.src", + "release": "8.el9_4" + }, + { + "name": "libfdisk", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "libffi", + "version": "3.4.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libffi", + "srpm_nevra": "libffi-3.4.2-8.el9.src", + "release": "8.el9" + }, + { + "name": "libgcc", + "version": "11.5.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gcc", + "srpm_nevra": "gcc-11.5.0-2.el9.src", + "release": "2.el9" + }, + { + "name": "libgcrypt", + "version": "1.10.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libgcrypt", + "srpm_nevra": "libgcrypt-1.10.0-11.el9.src", + "release": "11.el9" + }, + { + "name": "libgomp", + "version": "11.5.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gcc", + "srpm_nevra": "gcc-11.5.0-2.el9.src", + "release": "2.el9" + }, + { + "name": "libgpg-error", + "version": "1.42", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libgpg-error", + "srpm_nevra": "libgpg-error-1.42-5.el9.src", + "release": "5.el9" + }, + { + "name": "libidn2", + "version": "2.3.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libidn2", + "srpm_nevra": "libidn2-2.3.0-7.el9.src", + "release": "7.el9" + }, + { + "name": "libksba", + "version": "1.5.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libksba", + "srpm_nevra": "libksba-1.5.1-7.el9.src", + "release": "7.el9" + }, + { + "name": "libmaxminddb", + "version": "1.5.2", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libmaxminddb", + "srpm_nevra": "libmaxminddb-1.5.2-4.el9.src", + "release": "4.el9" + }, + { + "name": "libmnl", + "version": "1.0.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libmnl", + "srpm_nevra": "libmnl-1.0.4-16.el9_4.src", + "release": "16.el9_4" + }, + { + "name": "libmodulemd", + "version": "2.13.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libmodulemd", + "srpm_nevra": "libmodulemd-2.13.0-2.el9.src", + "release": "2.el9" + }, + { + "name": "libmount", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "libnghttp2", + "version": "1.43.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "nghttp2", + "srpm_nevra": "nghttp2-1.43.0-6.el9.src", + "release": "6.el9" + }, + { + "name": "libpath_utils", + "version": "0.2.1", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "ding-libs", + "srpm_nevra": "ding-libs-0.6.1-53.el9.src", + "release": "53.el9" + }, + { + "name": "libpipeline", + "version": "1.5.3", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libpipeline", + "srpm_nevra": "libpipeline-1.5.3-4.el9.src", + "release": "4.el9" + }, + { + "name": "libpwquality", + "version": "1.4.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libpwquality", + "srpm_nevra": "libpwquality-1.4.4-8.el9.src", + "release": "8.el9" + }, + { + "name": "librepo", + "version": "1.14.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "librepo", + "srpm_nevra": "librepo-1.14.5-2.el9.src", + "release": "2.el9" + }, + { + "name": "libreport-filesystem", + "version": "2.15.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "libreport", + "srpm_nevra": "libreport-2.15.2-6.el9.src", + "release": "6.el9" + }, + { + "name": "librhsm", + "version": "0.0.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "librhsm", + "srpm_nevra": "librhsm-0.0.3-9.el9.src", + "release": "9.el9" + }, + { + "name": "libseccomp", + "version": "2.5.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libseccomp", + "srpm_nevra": "libseccomp-2.5.2-2.el9.src", + "release": "2.el9" + }, + { + "name": "libselinux", + "version": "3.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libselinux", + "srpm_nevra": "libselinux-3.6-1.el9.src", + "release": "1.el9" + }, + { + "name": "libsemanage", + "version": "3.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libsemanage", + "srpm_nevra": "libsemanage-3.6-2.1.el9_5.src", + "release": "2.1.el9_5" + }, + { + "name": "libsepol", + "version": "3.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libsepol", + "srpm_nevra": "libsepol-3.6-1.el9.src", + "release": "1.el9" + }, + { + "name": "libsigsegv", + "version": "2.13", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libsigsegv", + "srpm_nevra": "libsigsegv-2.13-4.el9.src", + "release": "4.el9" + }, + { + "name": "libsmartcols", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "libsolv", + "version": "0.7.24", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libsolv", + "srpm_nevra": "libsolv-0.7.24-3.el9.src", + "release": "3.el9" + }, + { + "name": "libstdc++", + "version": "11.5.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gcc", + "srpm_nevra": "gcc-11.5.0-2.el9.src", + "release": "2.el9" + }, + { + "name": "libtalloc", + "version": "2.4.2", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libtalloc", + "srpm_nevra": "libtalloc-2.4.2-1.el9.src", + "release": "1.el9" + }, + { + "name": "libtasn1", + "version": "4.16.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libtasn1", + "srpm_nevra": "libtasn1-4.16.0-8.el9_1.src", + "release": "8.el9_1" + }, + { + "name": "libtool-ltdl", + "version": "2.4.6", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libtool", + "srpm_nevra": "libtool-2.4.6-46.el9.src", + "release": "46.el9" + }, + { + "name": "libunistring", + "version": "0.9.10", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libunistring", + "srpm_nevra": "libunistring-0.9.10-15.el9.src", + "release": "15.el9" + }, + { + "name": "libuser", + "version": "0.63", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libuser", + "srpm_nevra": "libuser-0.63-15.el9.src", + "release": "15.el9" + }, + { + "name": "libutempter", + "version": "1.2.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libutempter", + "srpm_nevra": "libutempter-1.2.1-6.el9.src", + "release": "6.el9" + }, + { + "name": "libuuid", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "libuv", + "version": "1:1.42.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libuv", + "srpm_nevra": "libuv-1.42.0-2.el9_4.src", + "release": "2.el9_4" + }, + { + "name": "libverto", + "version": "0.3.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libverto", + "srpm_nevra": "libverto-0.3.2-3.el9.src", + "release": "3.el9" + }, + { + "name": "libxcrypt", + "version": "4.4.18", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libxcrypt", + "srpm_nevra": "libxcrypt-4.4.18-3.el9.src", + "release": "3.el9" + }, + { + "name": "libxml2", + "version": "2.9.13", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libxml2", + "srpm_nevra": "libxml2-2.9.13-6.el9_4.src", + "release": "6.el9_4" + }, + { + "name": "libxslt", + "version": "1.1.34", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libxslt", + "srpm_nevra": "libxslt-1.1.34-9.el9.src", + "release": "9.el9" + }, + { + "name": "libyaml", + "version": "0.2.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libyaml", + "srpm_nevra": "libyaml-0.2.5-7.el9.src", + "release": "7.el9" + }, + { + "name": "libzstd", + "version": "1.5.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "zstd", + "srpm_nevra": "zstd-1.5.1-2.el9.src", + "release": "2.el9" + }, + { + "name": "lmdb-libs", + "version": "0.9.29", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "lmdb", + "srpm_nevra": "lmdb-0.9.29-3.el9.src", + "release": "3.el9" + }, + { + "name": "lua-libs", + "version": "5.4.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "lua", + "srpm_nevra": "lua-5.4.4-4.el9.src", + "release": "4.el9" + }, + { + "name": "lz4-libs", + "version": "1.9.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "lz4", + "srpm_nevra": "lz4-1.9.3-5.el9.src", + "release": "5.el9" + }, + { + "name": "mailcap", + "version": "2.1.49", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "mailcap", + "srpm_nevra": "mailcap-2.1.49-5.el9.src", + "release": "5.el9" + }, + { + "name": "man-db", + "version": "2.9.3", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "man-db", + "srpm_nevra": "man-db-2.9.3-7.el9.src", + "release": "7.el9" + }, + { + "name": "mod_auth_mellon", + "version": "0.17.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "mod_auth_mellon", + "srpm_nevra": "mod_auth_mellon-0.17.0-7.el9.src", + "release": "7.el9" + }, + { + "name": "mod_http2", + "version": "2.0.26", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "mod_http2", + "srpm_nevra": "mod_http2-2.0.26-2.el9_4.1.src", + "release": "2.el9_4.1" + }, + { + "name": "mod_ldap", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "mod_lua", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "mod_security", + "version": "2.9.6", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "mod_security", + "srpm_nevra": "mod_security-2.9.6-1.el9.src", + "release": "1.el9" + }, + { + "name": "mod_session", + "version": "2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "mod_ssl", + "version": "1:2.4.62", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "httpd", + "srpm_nevra": "httpd-2.4.62-1.el9.src", + "release": "1.el9" + }, + { + "name": "mpfr", + "version": "4.1.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "mpfr", + "srpm_nevra": "mpfr-4.1.0-7.el9.src", + "release": "7.el9" + }, + { + "name": "ncurses-base", + "version": "6.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "ncurses", + "srpm_nevra": "ncurses-6.2-10.20210508.el9.src", + "release": "10.20210508.el9" + }, + { + "name": "ncurses-libs", + "version": "6.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "ncurses", + "srpm_nevra": "ncurses-6.2-10.20210508.el9.src", + "release": "10.20210508.el9" + }, + { + "name": "nettle", + "version": "3.9.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "nettle", + "srpm_nevra": "nettle-3.9.1-1.el9.src", + "release": "1.el9" + }, + { + "name": "npth", + "version": "1.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "npth", + "srpm_nevra": "npth-1.6-8.el9.src", + "release": "8.el9" + }, + { + "name": "nss_wrapper-libs", + "version": "1.1.13", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "nss_wrapper", + "srpm_nevra": "nss_wrapper-1.1.13-1.el9.src", + "release": "1.el9" + }, + { + "name": "openldap", + "version": "2.6.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "openldap", + "srpm_nevra": "openldap-2.6.6-3.el9.src", + "release": "3.el9" + }, + { + "name": "openssl", + "version": "1:3.2.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "openssl", + "srpm_nevra": "openssl-3.2.2-6.el9_5.src", + "release": "6.el9_5" + }, + { + "name": "openssl-fips-provider", + "version": "3.0.7", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "openssl-fips-provider", + "srpm_nevra": "openssl-fips-provider-3.0.7-6.el9_5.src", + "release": "6.el9_5" + }, + { + "name": "openssl-fips-provider-so", + "version": "3.0.7", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "openssl-fips-provider", + "srpm_nevra": "openssl-fips-provider-3.0.7-6.el9_5.src", + "release": "6.el9_5" + }, + { + "name": "openssl-libs", + "version": "1:3.2.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "openssl", + "srpm_nevra": "openssl-3.2.2-6.el9_5.src", + "release": "6.el9_5" + }, + { + "name": "p11-kit", + "version": "0.25.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "p11-kit", + "srpm_nevra": "p11-kit-0.25.3-3.el9_5.src", + "release": "3.el9_5" + }, + { + "name": "p11-kit-trust", + "version": "0.25.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "p11-kit", + "srpm_nevra": "p11-kit-0.25.3-3.el9_5.src", + "release": "3.el9_5" + }, + { + "name": "pam", + "version": "1.5.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "pam", + "srpm_nevra": "pam-1.5.1-22.el9_5.src", + "release": "22.el9_5" + }, + { + "name": "passwd", + "version": "0.80", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "passwd", + "srpm_nevra": "passwd-0.80-12.el9.src", + "release": "12.el9" + }, + { + "name": "pcre", + "version": "8.44", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "pcre", + "srpm_nevra": "pcre-8.44-4.el9.src", + "release": "4.el9" + }, + { + "name": "pcre2", + "version": "10.40", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "pcre2", + "srpm_nevra": "pcre2-10.40-6.el9.src", + "release": "6.el9" + }, + { + "name": "pcre2-syntax", + "version": "10.40", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "pcre2", + "srpm_nevra": "pcre2-10.40-6.el9.src", + "release": "6.el9" + }, + { + "name": "popt", + "version": "1.18", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "popt", + "srpm_nevra": "popt-1.18-8.el9.src", + "release": "8.el9" + }, + { + "name": "procps-ng", + "version": "3.3.17", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "procps-ng", + "srpm_nevra": "procps-ng-3.3.17-14.el9.src", + "release": "14.el9" + }, + { + "name": "protobuf-c", + "version": "1.3.3", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "protobuf-c", + "srpm_nevra": "protobuf-c-1.3.3-13.el9.src", + "release": "13.el9" + }, + { + "name": "psmisc", + "version": "23.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "psmisc", + "srpm_nevra": "psmisc-23.4-3.el9.src", + "release": "3.el9" + }, + { + "name": "python3", + "version": "3.9.21", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "python3.9", + "srpm_nevra": "python3.9-3.9.21-1.el9_5.src", + "release": "1.el9_5" + }, + { + "name": "python3-chardet", + "version": "4.0.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-chardet", + "srpm_nevra": "python-chardet-4.0.0-5.el9.src", + "release": "5.el9" + }, + { + "name": "python3-cloud-what", + "version": "1.29.42", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-1.29.42-1.el9.src", + "release": "1.el9" + }, + { + "name": "python3-dateutil", + "version": "1:2.8.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-dateutil", + "srpm_nevra": "python-dateutil-2.8.1-7.el9.src", + "release": "7.el9" + }, + { + "name": "python3-dbus", + "version": "1.2.18", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "dbus-python", + "srpm_nevra": "dbus-python-1.2.18-2.el9.src", + "release": "2.el9" + }, + { + "name": "python3-decorator", + "version": "4.4.2", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-decorator", + "srpm_nevra": "python-decorator-4.4.2-6.el9.src", + "release": "6.el9" + }, + { + "name": "python3-dnf", + "version": "4.14.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dnf", + "srpm_nevra": "dnf-4.14.0-17.el9.src", + "release": "17.el9" + }, + { + "name": "python3-dnf-plugins-core", + "version": "4.3.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dnf-plugins-core", + "srpm_nevra": "dnf-plugins-core-4.3.0-16.el9.src", + "release": "16.el9" + }, + { + "name": "python3-gobject-base", + "version": "3.40.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "pygobject3", + "srpm_nevra": "pygobject3-3.40.1-6.el9.src", + "release": "6.el9" + }, + { + "name": "python3-gobject-base-noarch", + "version": "3.40.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "pygobject3", + "srpm_nevra": "pygobject3-3.40.1-6.el9.src", + "release": "6.el9" + }, + { + "name": "python3-gpg", + "version": "1.15.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "gpgme", + "srpm_nevra": "gpgme-1.15.1-6.el9.src", + "release": "6.el9" + }, + { + "name": "python3-hawkey", + "version": "0.69.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libdnf", + "srpm_nevra": "libdnf-0.69.0-12.el9.src", + "release": "12.el9" + }, + { + "name": "python3-idna", + "version": "2.10", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-idna", + "srpm_nevra": "python-idna-2.10-7.el9_4.1.src", + "release": "7.el9_4.1" + }, + { + "name": "python3-iniparse", + "version": "0.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-iniparse", + "srpm_nevra": "python-iniparse-0.4-45.el9.src", + "release": "45.el9" + }, + { + "name": "python3-inotify", + "version": "0.9.6", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-inotify", + "srpm_nevra": "python-inotify-0.9.6-25.el9.src", + "release": "25.el9" + }, + { + "name": "python3-libcomps", + "version": "0.1.18", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libcomps", + "srpm_nevra": "libcomps-0.1.18-1.el9.src", + "release": "1.el9" + }, + { + "name": "python3-libdnf", + "version": "0.69.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "libdnf", + "srpm_nevra": "libdnf-0.69.0-12.el9.src", + "release": "12.el9" + }, + { + "name": "python3-librepo", + "version": "1.14.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "librepo", + "srpm_nevra": "librepo-1.14.5-2.el9.src", + "release": "2.el9" + }, + { + "name": "python3-libs", + "version": "3.9.21", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "python3.9", + "srpm_nevra": "python3.9-3.9.21-1.el9_5.src", + "release": "1.el9_5" + }, + { + "name": "python3-pip-wheel", + "version": "21.3.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-pip", + "srpm_nevra": "python-pip-21.3.1-1.el9.src", + "release": "1.el9" + }, + { + "name": "python3-pysocks", + "version": "1.7.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-pysocks", + "srpm_nevra": "python-pysocks-1.7.1-12.el9.src", + "release": "12.el9" + }, + { + "name": "python3-requests", + "version": "2.25.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-requests", + "srpm_nevra": "python-requests-2.25.1-8.el9.src", + "release": "8.el9" + }, + { + "name": "python3-rpm", + "version": "4.16.1.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rpm", + "srpm_nevra": "rpm-4.16.1.3-34.el9.src", + "release": "34.el9" + }, + { + "name": "python3-setuptools", + "version": "53.0.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-setuptools", + "srpm_nevra": "python-setuptools-53.0.0-13.el9.src", + "release": "13.el9" + }, + { + "name": "python3-setuptools-wheel", + "version": "53.0.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-setuptools", + "srpm_nevra": "python-setuptools-53.0.0-13.el9.src", + "release": "13.el9" + }, + { + "name": "python3-six", + "version": "1.15.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-six", + "srpm_nevra": "python-six-1.15.0-9.el9.src", + "release": "9.el9" + }, + { + "name": "python3-subscription-manager-rhsm", + "version": "1.29.42", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-1.29.42-1.el9.src", + "release": "1.el9" + }, + { + "name": "python3-systemd", + "version": "234", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-systemd", + "srpm_nevra": "python-systemd-234-19.el9.src", + "release": "19.el9" + }, + { + "name": "python3-urllib3", + "version": "1.26.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "python-urllib3", + "srpm_nevra": "python-urllib3-1.26.5-6.el9.src", + "release": "6.el9" + }, + { + "name": "readline", + "version": "8.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "readline", + "srpm_nevra": "readline-8.1-4.el9.src", + "release": "4.el9" + }, + { + "name": "redhat-logos-httpd", + "version": "90.4", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "redhat-logos", + "srpm_nevra": "redhat-logos-90.4-2.el9.src", + "release": "2.el9" + }, + { + "name": "redhat-release", + "version": "9.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "redhat-release", + "srpm_nevra": "redhat-release-9.5-0.6.el9.src", + "release": "0.6.el9" + }, + { + "name": "rootfiles", + "version": "8.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "rootfiles", + "srpm_nevra": "rootfiles-8.1-31.el9.src", + "release": "31.el9" + }, + { + "name": "rpm", + "version": "4.16.1.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rpm", + "srpm_nevra": "rpm-4.16.1.3-34.el9.src", + "release": "34.el9" + }, + { + "name": "rpm-build-libs", + "version": "4.16.1.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rpm", + "srpm_nevra": "rpm-4.16.1.3-34.el9.src", + "release": "34.el9" + }, + { + "name": "rpm-libs", + "version": "4.16.1.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rpm", + "srpm_nevra": "rpm-4.16.1.3-34.el9.src", + "release": "34.el9" + }, + { + "name": "rpm-plugin-selinux", + "version": "4.16.1.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rpm", + "srpm_nevra": "rpm-4.16.1.3-34.el9.src", + "release": "34.el9" + }, + { + "name": "rpm-sign-libs", + "version": "4.16.1.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rpm", + "srpm_nevra": "rpm-4.16.1.3-34.el9.src", + "release": "34.el9" + }, + { + "name": "rsync", + "version": "3.2.3", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "rsync", + "srpm_nevra": "rsync-3.2.3-20.el9.src", + "release": "20.el9" + }, + { + "name": "scl-utils", + "version": "1:2.0.3", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "scl-utils", + "srpm_nevra": "scl-utils-2.0.3-4.el9.src", + "release": "4.el9" + }, + { + "name": "sed", + "version": "4.8", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "sed", + "srpm_nevra": "sed-4.8-9.el9.src", + "release": "9.el9" + }, + { + "name": "selinux-policy", + "version": "38.1.45", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "selinux-policy", + "srpm_nevra": "selinux-policy-38.1.45-3.el9_5.src", + "release": "3.el9_5" + }, + { + "name": "selinux-policy-targeted", + "version": "38.1.45", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "selinux-policy", + "srpm_nevra": "selinux-policy-38.1.45-3.el9_5.src", + "release": "3.el9_5" + }, + { + "name": "setup", + "version": "2.13.7", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "setup", + "srpm_nevra": "setup-2.13.7-10.el9.src", + "release": "10.el9" + }, + { + "name": "shadow-utils", + "version": "2:4.9", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "shadow-utils", + "srpm_nevra": "shadow-utils-4.9-10.el9_5.src", + "release": "10.el9_5" + }, + { + "name": "sqlite-libs", + "version": "3.34.1", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "sqlite", + "srpm_nevra": "sqlite-3.34.1-7.el9_3.src", + "release": "7.el9_3" + }, + { + "name": "sscg", + "version": "3.0.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "sscg", + "srpm_nevra": "sscg-3.0.0-7.el9.src", + "release": "7.el9" + }, + { + "name": "subscription-manager", + "version": "1.29.42", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-1.29.42-1.el9.src", + "release": "1.el9" + }, + { + "name": "subscription-manager-rhsm-certificates", + "version": "20220623", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "subscription-manager-rhsm-certificates", + "srpm_nevra": "subscription-manager-rhsm-certificates-20220623-1.el9.src", + "release": "1.el9" + }, + { + "name": "systemd", + "version": "252", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "systemd", + "srpm_nevra": "systemd-252-46.el9_5.2.src", + "release": "46.el9_5.2" + }, + { + "name": "systemd-libs", + "version": "252", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "systemd", + "srpm_nevra": "systemd-252-46.el9_5.2.src", + "release": "46.el9_5.2" + }, + { + "name": "systemd-pam", + "version": "252", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "systemd", + "srpm_nevra": "systemd-252-46.el9_5.2.src", + "release": "46.el9_5.2" + }, + { + "name": "systemd-rpm-macros", + "version": "252", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "systemd", + "srpm_nevra": "systemd-252-46.el9_5.2.src", + "release": "46.el9_5.2" + }, + { + "name": "tar", + "version": "2:1.34", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "tar", + "srpm_nevra": "tar-1.34-7.el9.src", + "release": "7.el9" + }, + { + "name": "tcl", + "version": "1:8.6.10", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "tcl", + "srpm_nevra": "tcl-8.6.10-7.el9.src", + "release": "7.el9" + }, + { + "name": "tpm2-tss", + "version": "3.2.3", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "tpm2-tss", + "srpm_nevra": "tpm2-tss-3.2.3-1.el9.src", + "release": "1.el9" + }, + { + "name": "tzdata", + "version": "2024b", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "tzdata", + "srpm_nevra": "tzdata-2024b-2.el9.src", + "release": "2.el9" + }, + { + "name": "unzip", + "version": "6.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "unzip", + "srpm_nevra": "unzip-6.0-57.el9.src", + "release": "57.el9" + }, + { + "name": "usermode", + "version": "1.114", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "usermode", + "srpm_nevra": "usermode-1.114-5.el9.src", + "release": "5.el9" + }, + { + "name": "util-linux", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "util-linux-core", + "version": "2.37.4", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-2.37.4-20.el9.src", + "release": "20.el9" + }, + { + "name": "vim-filesystem", + "version": "2:8.2.2637", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "vim", + "srpm_nevra": "vim-8.2.2637-21.el9.src", + "release": "21.el9" + }, + { + "name": "vim-minimal", + "version": "2:8.2.2637", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "vim", + "srpm_nevra": "vim-8.2.2637-21.el9.src", + "release": "21.el9" + }, + { + "name": "virt-what", + "version": "1.25", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "virt-what", + "srpm_nevra": "virt-what-1.25-10.el9.src", + "release": "10.el9" + }, + { + "name": "which", + "version": "2.21", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "which", + "srpm_nevra": "which-2.21-29.el9.src", + "release": "29.el9" + }, + { + "name": "xmlsec1", + "version": "1.2.29", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "xmlsec1", + "srpm_nevra": "xmlsec1-1.2.29-13.el9.src", + "release": "13.el9" + }, + { + "name": "xmlsec1-openssl", + "version": "1.2.29", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "xmlsec1", + "srpm_nevra": "xmlsec1-1.2.29-13.el9.src", + "release": "13.el9" + }, + { + "name": "xz", + "version": "5.2.5", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-baseos-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "xz", + "srpm_nevra": "xz-5.2.5-8.el9_0.src", + "release": "8.el9_0" + }, + { + "name": "xz-libs", + "version": "5.2.5", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "xz", + "srpm_nevra": "xz-5.2.5-8.el9_0.src", + "release": "8.el9_0" + }, + { + "name": "yajl", + "version": "2.1.0", + "kind": "binary", + "_repositoryhint": "repoid=rhel-9-appstream-rpms", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "yajl", + "srpm_nevra": "yajl-2.1.0-22.el9.src", + "release": "22.el9" + }, + { + "name": "yum", + "version": "4.14.0", + "kind": "binary", + "_repositoryhint": "", + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "srpm_name": "dnf", + "srpm_nevra": "dnf-4.14.0-17.el9.src", + "release": "17.el9" + }, + { + "name": "zlib", + "version": "1.2.11", + "kind": "binary", + "_repositoryhint": "", + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "srpm_name": "zlib", + "srpm_nevra": "zlib-1.2.11-40.el9.src", + "release": "40.el9" + } + ] +} diff --git a/rhel/testdata/nodejs.rpm-manifest.json b/rhel/testdata/nodejs.rpm-manifest.json new file mode 100644 index 000000000..845a00384 --- /dev/null +++ b/rhel/testdata/nodejs.rpm-manifest.json @@ -0,0 +1,3019 @@ +{ + "rpms": [ + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "acl", + "release": "3.el9", + "srpm_name": "acl", + "srpm_nevra": "acl-0:2.3.1-3.el9.src", + "version": "2.3.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "alternatives", + "release": "2.el9", + "srpm_name": "chkconfig", + "srpm_nevra": "chkconfig-0:1.20-2.el9.src", + "version": "1.20", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "audit-libs", + "release": "103.el9", + "srpm_name": "audit", + "srpm_nevra": "audit-0:3.0.7-103.el9.src", + "version": "3.0.7", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "basesystem", + "release": "13.el9", + "srpm_name": "basesystem", + "srpm_nevra": "basesystem-0:11-13.el9.src", + "version": "11", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "bash", + "release": "6.el9", + "srpm_name": "bash", + "srpm_nevra": "bash-0:5.1.8-6.el9.src", + "version": "5.1.8", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "binutils", + "release": "37.el9", + "srpm_name": "binutils", + "srpm_nevra": "binutils-0:2.35.2-37.el9.src", + "version": "2.35.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "binutils-gold", + "release": "37.el9", + "srpm_name": "binutils", + "srpm_nevra": "binutils-0:2.35.2-37.el9.src", + "version": "2.35.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "bsdtar", + "release": "4.el9", + "srpm_name": "libarchive", + "srpm_nevra": "libarchive-0:3.5.3-4.el9.src", + "version": "3.5.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "bzip2-libs", + "release": "8.el9", + "srpm_name": "bzip2", + "srpm_nevra": "bzip2-0:1.0.8-8.el9.src", + "version": "1.0.8", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "ca-certificates", + "release": "90.2.el9_0", + "srpm_name": "ca-certificates", + "srpm_nevra": "ca-certificates-0:2022.2.54-90.2.el9_0.src", + "version": "2022.2.54", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "cmake", + "release": "8.el9", + "srpm_name": "cmake", + "srpm_nevra": "cmake-0:3.20.2-8.el9.src", + "version": "3.20.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "cmake-data", + "release": "8.el9", + "srpm_name": "cmake", + "srpm_nevra": "cmake-0:3.20.2-8.el9.src", + "version": "3.20.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "cmake-filesystem", + "release": "8.el9", + "srpm_name": "cmake", + "srpm_nevra": "cmake-0:3.20.2-8.el9.src", + "version": "3.20.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "cmake-rpm-macros", + "release": "8.el9", + "srpm_name": "cmake", + "srpm_nevra": "cmake-0:3.20.2-8.el9.src", + "version": "3.20.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "coreutils-single", + "release": "34.el9", + "srpm_name": "coreutils", + "srpm_nevra": "coreutils-0:8.32-34.el9.src", + "version": "8.32", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "cpp", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "cracklib", + "release": "27.el9", + "srpm_name": "cracklib", + "srpm_nevra": "cracklib-0:2.9.6-27.el9.src", + "version": "2.9.6", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "cracklib-dicts", + "release": "27.el9", + "srpm_name": "cracklib", + "srpm_nevra": "cracklib-0:2.9.6-27.el9.src", + "version": "2.9.6", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "crypto-policies", + "release": "1.git9a18988.el9", + "srpm_name": "crypto-policies", + "srpm_nevra": "crypto-policies-0:20221215-1.git9a18988.el9.src", + "version": "20221215", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "crypto-policies-scripts", + "release": "1.git9a18988.el9", + "srpm_name": "crypto-policies", + "srpm_nevra": "crypto-policies-0:20221215-1.git9a18988.el9.src", + "version": "20221215", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "curl-minimal", + "release": "23.el9_2.1", + "srpm_name": "curl", + "srpm_nevra": "curl-0:7.76.1-23.el9_2.1.src", + "version": "7.76.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "cyrus-sasl-lib", + "release": "21.el9", + "srpm_name": "cyrus-sasl", + "srpm_nevra": "cyrus-sasl-0:2.1.27-21.el9.src", + "version": "2.1.27", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "dbus", + "release": "7.el9_1", + "srpm_name": "dbus", + "srpm_nevra": "dbus-1:1.12.20-7.el9_1.src", + "version": "1.12.20", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "dbus-broker", + "release": "7.el9", + "srpm_name": "dbus-broker", + "srpm_nevra": "dbus-broker-0:28-7.el9.src", + "version": "28", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "dbus-common", + "release": "7.el9_1", + "srpm_name": "dbus", + "srpm_nevra": "dbus-1:1.12.20-7.el9_1.src", + "version": "1.12.20", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "dbus-libs", + "release": "7.el9_1", + "srpm_name": "dbus", + "srpm_nevra": "dbus-1:1.12.20-7.el9_1.src", + "version": "1.12.20", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "dejavu-sans-fonts", + "release": "18.el9", + "srpm_name": "dejavu-fonts", + "srpm_nevra": "dejavu-fonts-0:2.37-18.el9.src", + "version": "2.37", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "dmidecode", + "release": "7.el9", + "srpm_name": "dmidecode", + "srpm_nevra": "dmidecode-1:3.3-7.el9.src", + "version": "3.3", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "dnf", + "release": "5.el9_2", + "srpm_name": "dnf", + "srpm_nevra": "dnf-0:4.14.0-5.el9_2.src", + "version": "4.14.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "dnf-data", + "release": "5.el9_2", + "srpm_name": "dnf", + "srpm_nevra": "dnf-0:4.14.0-5.el9_2.src", + "version": "4.14.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "elfutils-debuginfod-client", + "release": "3.el9", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0:0.188-3.el9.src", + "version": "0.188", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "elfutils-default-yama-scope", + "release": "3.el9", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0:0.188-3.el9.src", + "version": "0.188", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "elfutils-libelf", + "release": "3.el9", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0:0.188-3.el9.src", + "version": "0.188", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "elfutils-libs", + "release": "3.el9", + "srpm_name": "elfutils", + "srpm_nevra": "elfutils-0:0.188-3.el9.src", + "version": "0.188", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "emacs-filesystem", + "release": "8.el9", + "srpm_name": "emacs", + "srpm_nevra": "emacs-27.2-8.el9_2.1.src", + "version": "27.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "environment-modules", + "release": "2.el9", + "srpm_name": "environment-modules", + "srpm_nevra": "environment-modules-0:5.0.1-2.el9.src", + "version": "5.0.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "expat", + "release": "1.el9", + "srpm_name": "expat", + "srpm_nevra": "expat-0:2.5.0-1.el9.src", + "version": "2.5.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "file-libs", + "release": "12.el9", + "srpm_name": "file", + "srpm_nevra": "file-0:5.39-12.el9.src", + "version": "5.39", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "filesystem", + "release": "2.el9", + "srpm_name": "filesystem", + "srpm_nevra": "filesystem-0:3.16-2.el9.src", + "version": "3.16", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "findutils", + "release": "5.el9", + "srpm_name": "findutils", + "srpm_nevra": "findutils-1:4.8.0-5.el9.src", + "version": "4.8.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "fonts-filesystem", + "release": "7.el9.1", + "srpm_name": "fonts-rpm-macros", + "srpm_nevra": "fonts-rpm-macros-1:2.0.5-7.el9.1.src", + "version": "2.0.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gawk", + "release": "6.el9", + "srpm_name": "gawk", + "srpm_nevra": "gawk-0:5.1.0-6.el9.src", + "version": "5.1.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gcc", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gcc-c++", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gdb-gdbserver", + "release": "10.el9", + "srpm_name": "gdb", + "srpm_nevra": "gdb-0:10.2-10.el9.src", + "version": "10.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gdbm-libs", + "release": "4.el9", + "srpm_name": "gdbm", + "srpm_nevra": "gdbm-1:1.19-4.el9.src", + "version": "1.19", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gettext", + "release": "7.el9", + "srpm_name": "gettext", + "srpm_nevra": "gettext-0:0.21-7.el9.src", + "version": "0.21", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gettext-libs", + "release": "7.el9", + "srpm_name": "gettext", + "srpm_nevra": "gettext-0:0.21-7.el9.src", + "version": "0.21", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "git", + "release": "1.el9_2", + "srpm_name": "git", + "srpm_nevra": "git-0:2.39.3-1.el9_2.src", + "version": "2.39.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "git-core", + "release": "1.el9_2", + "srpm_name": "git", + "srpm_nevra": "git-0:2.39.3-1.el9_2.src", + "version": "2.39.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "git-core-doc", + "release": "1.el9_2", + "srpm_name": "git", + "srpm_nevra": "git-0:2.39.3-1.el9_2.src", + "version": "2.39.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glib2", + "release": "6.el9", + "srpm_name": "glib2", + "srpm_nevra": "glib2-0:2.68.4-6.el9.src", + "version": "2.68.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc-common", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc-devel", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc-headers", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc-langpack-en", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc-locale-source", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "glibc-minimal-langpack", + "release": "60.el9", + "srpm_name": "glibc", + "srpm_nevra": "glibc-0:2.34-60.el9.src", + "version": "2.34", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gmp", + "release": "10.el9", + "srpm_name": "gmp", + "srpm_nevra": "gmp-1:6.2.0-10.el9.src", + "version": "6.2.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gnupg2", + "release": "2.el9_0", + "srpm_name": "gnupg2", + "srpm_nevra": "gnupg2-0:2.3.3-2.el9_0.src", + "version": "2.3.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gnutls", + "release": "20.el9_2", + "srpm_name": "gnutls", + "srpm_nevra": "gnutls-0:3.7.6-20.el9_2.src", + "version": "3.7.6", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gobject-introspection", + "release": "11.el9", + "srpm_name": "gobject-introspection", + "srpm_nevra": "gobject-introspection-0:1.68.0-11.el9.src", + "version": "1.68.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gpgme", + "release": "6.el9", + "srpm_name": "gpgme", + "srpm_nevra": "gpgme-0:1.15.1-6.el9.src", + "version": "1.15.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "grep", + "release": "5.el9", + "srpm_name": "grep", + "srpm_nevra": "grep-0:3.6-5.el9.src", + "version": "3.6", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "groff-base", + "release": "10.el9", + "srpm_name": "groff", + "srpm_nevra": "groff-0:1.22.4-10.el9.src", + "version": "1.22.4", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "gzip", + "release": "1.el9", + "srpm_name": "gzip", + "srpm_nevra": "gzip-0:1.12-1.el9.src", + "version": "1.12", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "ima-evm-utils", + "release": "4.el9", + "srpm_name": "ima-evm-utils", + "srpm_nevra": "ima-evm-utils-0:1.4-4.el9.src", + "version": "1.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "json-c", + "release": "11.el9", + "srpm_name": "json-c", + "srpm_nevra": "json-c-0:0.14-11.el9.src", + "version": "0.14", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "json-glib", + "release": "1.el9", + "srpm_name": "json-glib", + "srpm_nevra": "json-glib-0:1.6.6-1.el9.src", + "version": "1.6.6", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "kernel-headers", + "release": "284.18.1.el9_2", + "srpm_name": "kernel", + "srpm_nevra": "kernel-0:5.14.0-284.18.1.el9_2.src", + "version": "5.14.0", + "_repositoryhint": "repoid=RHEL-9.2.0-updates-20230615.3-AppStream" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "keyutils-libs", + "release": "1.el9", + "srpm_name": "keyutils", + "srpm_nevra": "keyutils-0:1.6.3-1.el9.src", + "version": "1.6.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "kmod-libs", + "release": "7.el9", + "srpm_name": "kmod", + "srpm_nevra": "kmod-0:28-7.el9.src", + "version": "28", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "krb5-libs", + "release": "9.el9_2", + "srpm_name": "krb5", + "srpm_nevra": "krb5-0:1.20.1-9.el9_2.src", + "version": "1.20.1", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "langpacks-core-en", + "release": "16.el9", + "srpm_name": "langpacks", + "srpm_nevra": "langpacks-0:3.0-16.el9.src", + "version": "3.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "langpacks-core-font-en", + "release": "16.el9", + "srpm_name": "langpacks", + "srpm_nevra": "langpacks-0:3.0-16.el9.src", + "version": "3.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "langpacks-en", + "release": "16.el9", + "srpm_name": "langpacks", + "srpm_nevra": "langpacks-0:3.0-16.el9.src", + "version": "3.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "less", + "release": "2.el9_2", + "srpm_name": "less", + "srpm_nevra": "less-0:590-2.el9_2.src", + "version": "590", + "_repositoryhint": "repoid=RHEL-9.2.0-updates-20230615.3-BaseOS" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libacl", + "release": "3.el9", + "srpm_name": "acl", + "srpm_nevra": "acl-0:2.3.1-3.el9.src", + "version": "2.3.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libarchive", + "release": "4.el9", + "srpm_name": "libarchive", + "srpm_nevra": "libarchive-0:3.5.3-4.el9.src", + "version": "3.5.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libassuan", + "release": "3.el9", + "srpm_name": "libassuan", + "srpm_nevra": "libassuan-0:2.5.5-3.el9.src", + "version": "2.5.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libattr", + "release": "3.el9", + "srpm_name": "attr", + "srpm_nevra": "attr-0:2.5.1-3.el9.src", + "version": "2.5.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libblkid", + "release": "11.el9_2", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9_2.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libbrotli", + "release": "6.el9", + "srpm_name": "brotli", + "srpm_nevra": "brotli-0:1.0.9-6.el9.src", + "version": "1.0.9", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libcap", + "release": "8.el9", + "srpm_name": "libcap", + "srpm_nevra": "libcap-0:2.48-8.el9.src", + "version": "2.48", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libcap-ng", + "release": "7.el9", + "srpm_name": "libcap-ng", + "srpm_nevra": "libcap-ng-0:0.8.2-7.el9.src", + "version": "0.8.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libcbor", + "release": "5.el9", + "srpm_name": "libcbor", + "srpm_nevra": "libcbor-0:0.7.0-5.el9.src", + "version": "0.7.0", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libcom_err", + "release": "3.el9", + "srpm_name": "e2fsprogs", + "srpm_nevra": "e2fsprogs-0:1.46.5-3.el9.src", + "version": "1.46.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libcomps", + "release": "1.el9", + "srpm_name": "libcomps", + "srpm_nevra": "libcomps-0:0.1.18-1.el9.src", + "version": "0.1.18", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libcurl-minimal", + "release": "23.el9_2.1", + "srpm_name": "curl", + "srpm_nevra": "curl-0:7.76.1-23.el9_2.1.src", + "version": "7.76.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libdb", + "release": "53.el9", + "srpm_name": "libdb", + "srpm_nevra": "libdb-0:5.3.28-53.el9.src", + "version": "5.3.28", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libdnf", + "release": "3.el9_2", + "srpm_name": "libdnf", + "srpm_nevra": "libdnf-0:0.69.0-3.el9_2.src", + "version": "0.69.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libdnf-plugin-subscription-manager", + "release": "1.el9_2", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-0:1.29.33.1-1.el9_2.src", + "version": "1.29.33.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libeconf", + "release": "2.el9", + "srpm_name": "libeconf", + "srpm_nevra": "libeconf-0:0.4.1-2.el9.src", + "version": "0.4.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libedit", + "release": "37.20210216cvs.el9", + "srpm_name": "libedit", + "srpm_nevra": "libedit-0:3.1-37.20210216cvs.el9.src", + "version": "3.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libevent", + "release": "6.el9", + "srpm_name": "libevent", + "srpm_nevra": "libevent-0:2.1.12-6.el9.src", + "version": "2.1.12", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libfdisk", + "release": "11.el9_2", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9_2.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libffi", + "release": "7.el9", + "srpm_name": "libffi", + "srpm_nevra": "libffi-0:3.4.2-7.el9.src", + "version": "3.4.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libfido2", + "release": "7.el9", + "srpm_name": "libfido2", + "srpm_nevra": "libfido2-0:1.6.0-7.el9.src", + "version": "1.6.0", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libgcc", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libgcrypt", + "release": "10.el9_2", + "srpm_name": "libgcrypt", + "srpm_nevra": "libgcrypt-0:1.10.0-10.el9_2.src", + "version": "1.10.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libgomp", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libgpg-error", + "release": "5.el9", + "srpm_name": "libgpg-error", + "srpm_nevra": "libgpg-error-0:1.42-5.el9.src", + "version": "1.42", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libidn2", + "release": "7.el9", + "srpm_name": "libidn2", + "srpm_nevra": "libidn2-0:2.3.0-7.el9.src", + "version": "2.3.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libksba", + "release": "6.el9_1", + "srpm_name": "libksba", + "srpm_nevra": "libksba-0:1.5.1-6.el9_1.src", + "version": "1.5.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libmodulemd", + "release": "2.el9", + "srpm_name": "libmodulemd", + "srpm_nevra": "libmodulemd-0:2.13.0-2.el9.src", + "version": "2.13.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libmount", + "release": "11.el9_2", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9_2.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libmpc", + "release": "4.el9", + "srpm_name": "libmpc", + "srpm_nevra": "libmpc-0:1.2.1-4.el9.src", + "version": "1.2.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libnghttp2", + "release": "5.el9", + "srpm_name": "nghttp2", + "srpm_nevra": "nghttp2-0:1.43.0-5.el9.src", + "version": "1.43.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libnl3", + "release": "1.el9", + "srpm_name": "libnl3", + "srpm_nevra": "libnl3-0:3.7.0-1.el9.src", + "version": "3.7.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libpipeline", + "release": "4.el9", + "srpm_name": "libpipeline", + "srpm_nevra": "libpipeline-0:1.5.3-4.el9.src", + "version": "1.5.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libpkgconf", + "release": "10.el9", + "srpm_name": "pkgconf", + "srpm_nevra": "pkgconf-0:1.7.3-10.el9.src", + "version": "1.7.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libpwquality", + "release": "8.el9", + "srpm_name": "libpwquality", + "srpm_nevra": "libpwquality-0:1.4.4-8.el9.src", + "version": "1.4.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "librepo", + "release": "1.el9", + "srpm_name": "librepo", + "srpm_nevra": "librepo-0:1.14.5-1.el9.src", + "version": "1.14.5", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "libreport-filesystem", + "release": "6.el9", + "srpm_name": "libreport", + "srpm_nevra": "libreport-0:2.15.2-6.el9.src", + "version": "2.15.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "librhsm", + "release": "7.el9", + "srpm_name": "librhsm", + "srpm_nevra": "librhsm-0:0.0.3-7.el9.src", + "version": "0.0.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libseccomp", + "release": "2.el9", + "srpm_name": "libseccomp", + "srpm_nevra": "libseccomp-0:2.5.2-2.el9.src", + "version": "2.5.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libselinux", + "release": "1.el9", + "srpm_name": "libselinux", + "srpm_nevra": "libselinux-0:3.5-1.el9.src", + "version": "3.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libsemanage", + "release": "1.el9", + "srpm_name": "libsemanage", + "srpm_nevra": "libsemanage-0:3.5-1.el9.src", + "version": "3.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libsepol", + "release": "1.el9", + "srpm_name": "libsepol", + "srpm_nevra": "libsepol-0:3.5-1.el9.src", + "version": "3.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libsigsegv", + "release": "4.el9", + "srpm_name": "libsigsegv", + "srpm_nevra": "libsigsegv-0:2.13-4.el9.src", + "version": "2.13", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libsmartcols", + "release": "11.el9", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libsolv", + "release": "4.el9", + "srpm_name": "libsolv", + "srpm_nevra": "libsolv-0:0.7.22-4.el9.src", + "version": "0.7.22", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libstdc++", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libstdc++-devel", + "release": "4.3.el9", + "srpm_name": "gcc", + "srpm_nevra": "gcc-0:11.3.1-4.3.el9.src", + "version": "11.3.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libtasn1", + "release": "8.el9_1", + "srpm_name": "libtasn1", + "srpm_nevra": "libtasn1-0:4.16.0-8.el9_1.src", + "version": "4.16.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libunistring", + "release": "15.el9", + "srpm_name": "libunistring", + "srpm_nevra": "libunistring-0:0.9.10-15.el9.src", + "version": "0.9.10", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libuser", + "release": "12.el9", + "srpm_name": "libuser", + "srpm_nevra": "libuser-0:0.63-12.el9.src", + "version": "0.63", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libutempter", + "release": "6.el9", + "srpm_name": "libutempter", + "srpm_nevra": "libutempter-0:1.2.1-6.el9.src", + "version": "1.2.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libuuid", + "release": "11.el9_2", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9_2.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libuv", + "release": "1.el9", + "srpm_name": "libuv", + "srpm_nevra": "libuv-1:1.42.0-1.el9.src", + "version": "1.42.0", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libverto", + "release": "3.el9", + "srpm_name": "libverto", + "srpm_nevra": "libverto-0:0.3.2-3.el9.src", + "version": "0.3.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libxcrypt", + "release": "3.el9", + "srpm_name": "libxcrypt", + "srpm_nevra": "libxcrypt-0:4.4.18-3.el9.src", + "version": "4.4.18", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libxcrypt-devel", + "release": "3.el9", + "srpm_name": "libxcrypt", + "srpm_nevra": "libxcrypt-0:4.4.18-3.el9.src", + "version": "4.4.18", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libxml2", + "release": "3.el9_1", + "srpm_name": "libxml2", + "srpm_nevra": "libxml2-0:2.9.13-3.el9_1.src", + "version": "2.9.13", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libyaml", + "release": "7.el9", + "srpm_name": "libyaml", + "srpm_nevra": "libyaml-0:0.2.5-7.el9.src", + "version": "0.2.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "libzstd", + "release": "2.el9", + "srpm_name": "zstd", + "srpm_nevra": "zstd-0:1.5.1-2.el9.src", + "version": "1.5.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "lua-libs", + "release": "3.el9", + "srpm_name": "lua", + "srpm_nevra": "lua-0:5.4.4-3.el9.src", + "version": "5.4.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "lz4-libs", + "release": "5.el9", + "srpm_name": "lz4", + "srpm_nevra": "lz4-0:1.9.3-5.el9.src", + "version": "1.9.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "make", + "release": "7.el9", + "srpm_name": "make", + "srpm_nevra": "make-1:4.3-7.el9.src", + "version": "4.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "man-db", + "release": "7.el9", + "srpm_name": "man-db", + "srpm_nevra": "man-db-0:2.9.3-7.el9.src", + "version": "2.9.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "mpfr", + "release": "7.el9", + "srpm_name": "mpfr", + "srpm_nevra": "mpfr-0:4.1.0-7.el9.src", + "version": "4.1.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "ncurses", + "release": "8.20210508.el9", + "srpm_name": "ncurses", + "srpm_nevra": "ncurses-0:6.2-8.20210508.el9.src", + "version": "6.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "ncurses-base", + "release": "8.20210508.el9", + "srpm_name": "ncurses", + "srpm_nevra": "ncurses-0:6.2-8.20210508.el9.src", + "version": "6.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "ncurses-libs", + "release": "8.20210508.el9", + "srpm_name": "ncurses", + "srpm_nevra": "ncurses-0:6.2-8.20210508.el9.src", + "version": "6.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "nettle", + "release": "3.el9_0", + "srpm_name": "nettle", + "srpm_nevra": "nettle-0:3.8-3.el9_0.src", + "version": "3.8", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "nodejs", + "release": "3.module+el9.2.0.z+18964+42696395", + "srpm_name": "nodejs", + "srpm_nevra": "nodejs-18.14.2-3.module+el9.2.0.z+18964+42696395.src", + "module": "nodejs:18", + "version": "18.14.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "nodejs-docs", + "release": "3.module+el9.2.0.z+18964+42696395", + "srpm_name": "nodejs", + "srpm_nevra": "nodejs-18.14.2-3.module+el9.2.0.z+18964+42696395.src", + "module": "nodejs:18", + "version": "18.14.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "nodejs-full-i18n", + "release": "3.module+el9.2.0.z+18964+42696395", + "srpm_name": "nodejs", + "srpm_nevra": "nodejs-18.14.2-3.module+el9.2.0.z+18964+42696395.src", + "module": "nodejs:18", + "version": "18.14.2", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "nodejs-nodemon", + "release": "2.module+el9.2.0.z+18497+a402347c", + "srpm_name": "nodejs-nodemon", + "srpm_nevra": "nodejs-nodemon-0:2.0.20-2.module+el9.2.0.z+18497+a402347c.src", + "module": "nodejs:18", + "version": "2.0.20", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "npm", + "release": "1.18.14.2.3.module+el9.2.0.z+18964+42696395", + "srpm_name": "nodejs", + "srpm_nevra": "nodejs-18.14.2-3.module+el9.2.0.z+18964+42696395.src", + "module": "nodejs:18", + "version": "1:9.5.0", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "npth", + "release": "8.el9", + "srpm_name": "npth", + "srpm_nevra": "npth-0:1.6-8.el9.src", + "version": "1.6", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "nss_wrapper", + "release": "1.el9", + "srpm_name": "nss_wrapper", + "srpm_nevra": "nss_wrapper-0:1.1.13-1.el9.src", + "version": "1.1.13", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "nss_wrapper-libs", + "release": "1.el9", + "srpm_name": "nss_wrapper", + "srpm_nevra": "nss_wrapper-0:1.1.13-1.el9.src", + "version": "1.1.13", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openldap", + "release": "3.el9", + "srpm_name": "openldap", + "srpm_nevra": "openldap-0:2.6.2-3.el9.src", + "version": "2.6.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openldap-compat", + "release": "3.el9", + "srpm_name": "openldap", + "srpm_nevra": "openldap-0:2.6.2-3.el9.src", + "version": "2.6.2", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openssh", + "release": "29.el9_2", + "srpm_name": "openssh", + "srpm_nevra": "openssh-0:8.7p1-29.el9_2.src", + "version": "8.7p1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openssh-clients", + "release": "29.el9_2", + "srpm_name": "openssh", + "srpm_nevra": "openssh-0:8.7p1-29.el9_2.src", + "version": "8.7p1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openssl", + "release": "16.el9_2", + "srpm_name": "openssl", + "srpm_nevra": "openssl-3.0.7-16.el9_2.src", + "version": "3.0.7", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openssl-devel", + "release": "16.el9_2", + "srpm_name": "openssl", + "srpm_nevra": "openssl-3.0.7-16.el9_2.src", + "version": "3.0.7", + "_repositoryhint": "repoid=RHEL-9.2.0-updates-20230615.3-AppStream" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "openssl-libs", + "release": "16.el9_2", + "srpm_name": "openssl", + "srpm_nevra": "openssl-3.0.7-16.el9_2.src", + "version": "3.0.7", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "p11-kit", + "release": "2.el9", + "srpm_name": "p11-kit", + "srpm_nevra": "p11-kit-0:0.24.1-2.el9.src", + "version": "0.24.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "p11-kit-trust", + "release": "2.el9", + "srpm_name": "p11-kit", + "srpm_nevra": "p11-kit-0:0.24.1-2.el9.src", + "version": "0.24.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "pam", + "release": "14.el9", + "srpm_name": "pam", + "srpm_nevra": "pam-0:1.5.1-14.el9.src", + "version": "1.5.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "passwd", + "release": "12.el9", + "srpm_name": "passwd", + "srpm_nevra": "passwd-0:0.80-12.el9.src", + "version": "0.80", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "pcre", + "release": "3.el9.3", + "srpm_name": "pcre", + "srpm_nevra": "pcre-0:8.44-3.el9.3.src", + "version": "8.44", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "pcre2", + "release": "2.el9", + "srpm_name": "pcre2", + "srpm_nevra": "pcre2-0:10.40-2.el9.src", + "version": "10.40", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "pcre2-syntax", + "release": "2.el9", + "srpm_name": "pcre2", + "srpm_nevra": "pcre2-0:10.40-2.el9.src", + "version": "10.40", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-AutoLoader", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "5.74", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-B", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.80", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Carp", + "release": "460.el9", + "srpm_name": "perl-Carp", + "srpm_nevra": "perl-Carp-0:1.50-460.el9.src", + "version": "1.50", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Class-Struct", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "0.66", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Data-Dumper", + "release": "462.el9", + "srpm_name": "perl-Data-Dumper", + "srpm_nevra": "perl-Data-Dumper-0:2.174-462.el9.src", + "version": "2.174", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Digest", + "release": "4.el9", + "srpm_name": "perl-Digest", + "srpm_nevra": "perl-Digest-0:1.19-4.el9.src", + "version": "1.19", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Digest-MD5", + "release": "4.el9", + "srpm_name": "perl-Digest-MD5", + "srpm_nevra": "perl-Digest-MD5-0:2.58-4.el9.src", + "version": "2.58", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-DynaLoader", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.47", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Encode", + "release": "462.el9", + "srpm_name": "perl-Encode", + "srpm_nevra": "perl-Encode-4:3.08-462.el9.src", + "version": "3.08", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Errno", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.30", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Error", + "release": "7.el9", + "srpm_name": "perl-Error", + "srpm_nevra": "perl-Error-1:0.17029-7.el9.src", + "version": "0.17029", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Exporter", + "release": "461.el9", + "srpm_name": "perl-Exporter", + "srpm_nevra": "perl-Exporter-0:5.74-461.el9.src", + "version": "5.74", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Fcntl", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.13", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-File-Basename", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "2.85", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-File-Find", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.37", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-File-Path", + "release": "4.el9", + "srpm_name": "perl-File-Path", + "srpm_nevra": "perl-File-Path-0:2.18-4.el9.src", + "version": "2.18", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-File-Temp", + "release": "4.el9", + "srpm_name": "perl-File-Temp", + "srpm_nevra": "perl-File-Temp-1:0.231.100-4.el9.src", + "version": "0.231.100", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-File-stat", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.09", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-FileHandle", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "2.03", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Getopt-Long", + "release": "4.el9", + "srpm_name": "perl-Getopt-Long", + "srpm_nevra": "perl-Getopt-Long-1:2.52-4.el9.src", + "version": "2.52", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Getopt-Std", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.12", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Git", + "release": "1.el9_2", + "srpm_name": "git", + "srpm_nevra": "git-0:2.39.3-1.el9_2.src", + "version": "2.39.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-HTTP-Tiny", + "release": "460.el9", + "srpm_name": "perl-HTTP-Tiny", + "srpm_nevra": "perl-HTTP-Tiny-0:0.076-460.el9.src", + "version": "0.076", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-IO", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.43", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-IO-Socket-IP", + "release": "5.el9", + "srpm_name": "perl-IO-Socket-IP", + "srpm_nevra": "perl-IO-Socket-IP-0:0.41-5.el9.src", + "version": "0.41", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-IO-Socket-SSL", + "release": "1.el9", + "srpm_name": "perl-IO-Socket-SSL", + "srpm_nevra": "perl-IO-Socket-SSL-0:2.073-1.el9.src", + "version": "2.073", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-IPC-Open3", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.21", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-MIME-Base64", + "release": "4.el9", + "srpm_name": "perl-MIME-Base64", + "srpm_nevra": "perl-MIME-Base64-0:3.16-4.el9.src", + "version": "3.16", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Mozilla-CA", + "release": "6.el9", + "srpm_name": "perl-Mozilla-CA", + "srpm_nevra": "perl-Mozilla-CA-0:20200520-6.el9.src", + "version": "20200520", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-NDBM_File", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.15", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Net-SSLeay", + "release": "2.el9", + "srpm_name": "perl-Net-SSLeay", + "srpm_nevra": "perl-Net-SSLeay-0:1.92-2.el9.src", + "version": "1.92", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-POSIX", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.94", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-PathTools", + "release": "461.el9", + "srpm_name": "perl-PathTools", + "srpm_nevra": "perl-PathTools-0:3.78-461.el9.src", + "version": "3.78", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Pod-Escapes", + "release": "460.el9", + "srpm_name": "perl-Pod-Escapes", + "srpm_nevra": "perl-Pod-Escapes-1:1.07-460.el9.src", + "version": "1.07", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Pod-Perldoc", + "release": "461.el9", + "srpm_name": "perl-Pod-Perldoc", + "srpm_nevra": "perl-Pod-Perldoc-0:3.28.01-461.el9.src", + "version": "3.28.01", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Pod-Simple", + "release": "4.el9", + "srpm_name": "perl-Pod-Simple", + "srpm_nevra": "perl-Pod-Simple-1:3.42-4.el9.src", + "version": "3.42", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Pod-Usage", + "release": "4.el9", + "srpm_name": "perl-Pod-Usage", + "srpm_nevra": "perl-Pod-Usage-4:2.01-4.el9.src", + "version": "2.01", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Scalar-List-Utils", + "release": "461.el9", + "srpm_name": "perl-Scalar-List-Utils", + "srpm_nevra": "perl-Scalar-List-Utils-4:1.56-461.el9.src", + "version": "1.56", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-SelectSaver", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.02", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Socket", + "release": "4.el9", + "srpm_name": "perl-Socket", + "srpm_nevra": "perl-Socket-4:2.031-4.el9.src", + "version": "2.031", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-Storable", + "release": "460.el9", + "srpm_name": "perl-Storable", + "srpm_nevra": "perl-Storable-1:3.21-460.el9.src", + "version": "3.21", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Symbol", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.08", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Term-ANSIColor", + "release": "461.el9", + "srpm_name": "perl-Term-ANSIColor", + "srpm_nevra": "perl-Term-ANSIColor-0:5.01-461.el9.src", + "version": "5.01", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Term-Cap", + "release": "460.el9", + "srpm_name": "perl-Term-Cap", + "srpm_nevra": "perl-Term-Cap-0:1.17-460.el9.src", + "version": "1.17", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-TermReadKey", + "release": "11.el9", + "srpm_name": "perl-TermReadKey", + "srpm_nevra": "perl-TermReadKey-0:2.38-11.el9.src", + "version": "2.38", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Text-ParseWords", + "release": "460.el9", + "srpm_name": "perl-Text-ParseWords", + "srpm_nevra": "perl-Text-ParseWords-0:3.30-460.el9.src", + "version": "3.30", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Text-Tabs+Wrap", + "release": "460.el9", + "srpm_name": "perl-Text-Tabs+Wrap", + "srpm_nevra": "perl-Text-Tabs+Wrap-0:2013.0523-460.el9.src", + "version": "2013.0523", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-Time-Local", + "release": "7.el9", + "srpm_name": "perl-Time-Local", + "srpm_nevra": "perl-Time-Local-2:1.300-7.el9.src", + "version": "1.300", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-URI", + "release": "3.el9", + "srpm_name": "perl-URI", + "srpm_nevra": "perl-URI-0:5.09-3.el9.src", + "version": "5.09", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-base", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "2.27", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-constant", + "release": "461.el9", + "srpm_name": "perl-constant", + "srpm_nevra": "perl-constant-0:1.33-461.el9.src", + "version": "1.33", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-if", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "0.60.800", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-interpreter", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "5.32.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-lib", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "0.65", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-libnet", + "release": "4.el9", + "srpm_name": "perl-libnet", + "srpm_nevra": "perl-libnet-0:3.13-4.el9.src", + "version": "3.13", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-libs", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "5.32.1", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "perl-mro", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.23", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-overload", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.31", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-overloading", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "0.02", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-parent", + "release": "460.el9", + "srpm_name": "perl-parent", + "srpm_nevra": "perl-parent-1:0.238-460.el9.src", + "version": "0.238", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-podlators", + "release": "460.el9", + "srpm_name": "perl-podlators", + "srpm_nevra": "perl-podlators-1:4.14-460.el9.src", + "version": "4.14", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-subs", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.03", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "perl-vars", + "release": "480.el9", + "srpm_name": "perl", + "srpm_nevra": "perl-4:5.32.1-480.el9.src", + "version": "1.05", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "pkgconf", + "release": "10.el9", + "srpm_name": "pkgconf", + "srpm_nevra": "pkgconf-0:1.7.3-10.el9.src", + "version": "1.7.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "pkgconf-m4", + "release": "10.el9", + "srpm_name": "pkgconf", + "srpm_nevra": "pkgconf-0:1.7.3-10.el9.src", + "version": "1.7.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "pkgconf-pkg-config", + "release": "10.el9", + "srpm_name": "pkgconf", + "srpm_nevra": "pkgconf-0:1.7.3-10.el9.src", + "version": "1.7.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "popt", + "release": "8.el9", + "srpm_name": "popt", + "srpm_nevra": "popt-0:1.18-8.el9.src", + "version": "1.18", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "procps-ng", + "release": "11.el9", + "srpm_name": "procps-ng", + "srpm_nevra": "procps-ng-0:3.3.17-11.el9.src", + "version": "3.3.17", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3", + "release": "1.el9_2.1", + "srpm_name": "python3.9", + "srpm_nevra": "python3.9-0:3.9.16-1.el9_2.1.src", + "version": "3.9.16", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-chardet", + "release": "5.el9", + "srpm_name": "python-chardet", + "srpm_nevra": "python-chardet-0:4.0.0-5.el9.src", + "version": "4.0.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-cloud-what", + "release": "1.el9_2", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-0:1.29.33.1-1.el9_2.src", + "version": "1.29.33.1", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-dateutil", + "release": "6.el9", + "srpm_name": "python-dateutil", + "srpm_nevra": "python-dateutil-1:2.8.1-6.el9.src", + "version": "2.8.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-dbus", + "release": "2.el9", + "srpm_name": "dbus-python", + "srpm_nevra": "dbus-python-0:1.2.18-2.el9.src", + "version": "1.2.18", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-decorator", + "release": "6.el9", + "srpm_name": "python-decorator", + "srpm_nevra": "python-decorator-0:4.4.2-6.el9.src", + "version": "4.4.2", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-dnf", + "release": "5.el9_2", + "srpm_name": "dnf", + "srpm_nevra": "dnf-0:4.14.0-5.el9_2.src", + "version": "4.14.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-dnf-plugins-core", + "release": "5.el9_2", + "srpm_name": "dnf-plugins-core", + "srpm_nevra": "dnf-plugins-core-0:4.3.0-5.el9_2.src", + "version": "4.3.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-ethtool", + "release": "2.el9", + "srpm_name": "python-ethtool", + "srpm_nevra": "python-ethtool-0:0.15-2.el9.src", + "version": "0.15", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-gobject-base", + "release": "6.el9", + "srpm_name": "pygobject3", + "srpm_nevra": "pygobject3-0:3.40.1-6.el9.src", + "version": "3.40.1", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-gobject-base-noarch", + "release": "6.el9", + "srpm_name": "pygobject3", + "srpm_nevra": "pygobject3-0:3.40.1-6.el9.src", + "version": "3.40.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-gpg", + "release": "6.el9", + "srpm_name": "gpgme", + "srpm_nevra": "gpgme-0:1.15.1-6.el9.src", + "version": "1.15.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-hawkey", + "release": "3.el9_2", + "srpm_name": "libdnf", + "srpm_nevra": "libdnf-0:0.69.0-3.el9_2.src", + "version": "0.69.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-idna", + "release": "7.el9", + "srpm_name": "python-idna", + "srpm_nevra": "python-idna-0:2.10-7.el9.src", + "version": "2.10", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-iniparse", + "release": "45.el9", + "srpm_name": "python-iniparse", + "srpm_nevra": "python-iniparse-0:0.4-45.el9.src", + "version": "0.4", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-inotify", + "release": "25.el9", + "srpm_name": "python-inotify", + "srpm_nevra": "python-inotify-0:0.9.6-25.el9.src", + "version": "0.9.6", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-libcomps", + "release": "1.el9", + "srpm_name": "libcomps", + "srpm_nevra": "libcomps-0:0.1.18-1.el9.src", + "version": "0.1.18", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-libdnf", + "release": "3.el9_2", + "srpm_name": "libdnf", + "srpm_nevra": "libdnf-0:0.69.0-3.el9_2.src", + "version": "0.69.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-librepo", + "release": "1.el9", + "srpm_name": "librepo", + "srpm_nevra": "librepo-0:1.14.5-1.el9.src", + "version": "1.14.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-libs", + "release": "1.el9_2.1", + "srpm_name": "python3.9", + "srpm_nevra": "python3.9-0:3.9.16-1.el9_2.1.src", + "version": "3.9.16", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-pip-wheel", + "release": "6.el9", + "srpm_name": "python-pip", + "srpm_nevra": "python-pip-0:21.2.3-6.el9.src", + "version": "21.2.3", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-pysocks", + "release": "12.el9", + "srpm_name": "python-pysocks", + "srpm_nevra": "python-pysocks-0:1.7.1-12.el9.src", + "version": "1.7.1", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-requests", + "release": "6.el9", + "srpm_name": "python-requests", + "srpm_nevra": "python-requests-0:2.25.1-6.el9.src", + "version": "2.25.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-rpm", + "release": "22.el9", + "srpm_name": "rpm", + "srpm_nevra": "rpm-0:4.16.1.3-22.el9.src", + "version": "4.16.1.3", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-setuptools", + "release": "12.el9", + "srpm_name": "python-setuptools", + "srpm_nevra": "python-setuptools-0:53.0.0-12.el9.src", + "version": "53.0.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-setuptools-wheel", + "release": "12.el9", + "srpm_name": "python-setuptools", + "srpm_nevra": "python-setuptools-0:53.0.0-12.el9.src", + "version": "53.0.0", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-six", + "release": "9.el9", + "srpm_name": "python-six", + "srpm_nevra": "python-six-0:1.15.0-9.el9.src", + "version": "1.15.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-subscription-manager-rhsm", + "release": "1.el9_2", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-0:1.29.33.1-1.el9_2.src", + "version": "1.29.33.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "python3-systemd", + "release": "18.el9", + "srpm_name": "python-systemd", + "srpm_nevra": "python-systemd-234-18.el9.src", + "version": "234", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "python3-urllib3", + "release": "3.el9", + "srpm_name": "python-urllib3", + "srpm_nevra": "python-urllib3-0:1.26.5-3.el9.src", + "version": "1.26.5", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "readline", + "release": "4.el9", + "srpm_name": "readline", + "srpm_nevra": "readline-0:8.1-4.el9.src", + "version": "8.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "redhat-release", + "release": "0.13.el9", + "srpm_name": "redhat-release", + "srpm_nevra": "redhat-release-0:9.2-0.13.el9.src", + "version": "9.2", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "rootfiles", + "release": "31.el9", + "srpm_name": "rootfiles", + "srpm_nevra": "rootfiles-0:8.1-31.el9.src", + "version": "8.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "rpm", + "release": "22.el9", + "srpm_name": "rpm", + "srpm_nevra": "rpm-0:4.16.1.3-22.el9.src", + "version": "4.16.1.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "rpm-build-libs", + "release": "22.el9", + "srpm_name": "rpm", + "srpm_nevra": "rpm-0:4.16.1.3-22.el9.src", + "version": "4.16.1.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "rpm-libs", + "release": "22.el9", + "srpm_name": "rpm", + "srpm_nevra": "rpm-0:4.16.1.3-22.el9.src", + "version": "4.16.1.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "rpm-sign-libs", + "release": "22.el9", + "srpm_name": "rpm", + "srpm_nevra": "rpm-0:4.16.1.3-22.el9.src", + "version": "4.16.1.3", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "rsync", + "release": "19.el9", + "srpm_name": "rsync", + "srpm_nevra": "rsync-0:3.2.3-19.el9.src", + "version": "3.2.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "scl-utils", + "release": "4.el9", + "srpm_name": "scl-utils", + "srpm_nevra": "scl-utils-1:2.0.3-4.el9.src", + "version": "2.0.3", + "_repositoryhint": "repoid=rhel-9-for-x86_64-appstream-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "sed", + "release": "9.el9", + "srpm_name": "sed", + "srpm_nevra": "sed-0:4.8-9.el9.src", + "version": "4.8", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "setup", + "release": "9.el9", + "srpm_name": "setup", + "srpm_nevra": "setup-0:2.13.7-9.el9.src", + "version": "2.13.7", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "shadow-utils", + "release": "6.el9", + "srpm_name": "shadow-utils", + "srpm_nevra": "shadow-utils-2:4.9-6.el9.src", + "version": "4.9", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "sqlite-libs", + "release": "6.el9_1", + "srpm_name": "sqlite", + "srpm_nevra": "sqlite-0:3.34.1-6.el9_1.src", + "version": "3.34.1", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "subscription-manager", + "release": "1.el9_2", + "srpm_name": "subscription-manager", + "srpm_nevra": "subscription-manager-0:1.29.33.1-1.el9_2.src", + "version": "1.29.33.1", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "subscription-manager-rhsm-certificates", + "release": "1.el9", + "srpm_name": "subscription-manager-rhsm-certificates", + "srpm_nevra": "subscription-manager-rhsm-certificates-0:20220623-1.el9.src", + "version": "20220623", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "systemd", + "release": "14.el9_2.1", + "srpm_name": "systemd", + "srpm_nevra": "systemd-0:252-14.el9_2.1.src", + "version": "252", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "systemd-libs", + "release": "14.el9_2.1", + "srpm_name": "systemd", + "srpm_nevra": "systemd-0:252-14.el9_2.1.src", + "version": "252", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "systemd-pam", + "release": "14.el9_2.1", + "srpm_name": "systemd", + "srpm_nevra": "systemd-0:252-14.el9_2.1.src", + "version": "252", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "systemd-rpm-macros", + "release": "14.el9_2.1", + "srpm_name": "systemd", + "srpm_nevra": "systemd-0:252-14.el9_2.1.src", + "version": "252", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "tar", + "release": "6.el9_1", + "srpm_name": "tar", + "srpm_nevra": "tar-2:1.34-6.el9_1.src", + "version": "1.34", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "tcl", + "release": "7.el9", + "srpm_name": "tcl", + "srpm_nevra": "tcl-1:8.6.10-7.el9.src", + "version": "8.6.10", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "tpm2-tss", + "release": "8.el9", + "srpm_name": "tpm2-tss", + "srpm_nevra": "tpm2-tss-0:3.0.3-8.el9.src", + "version": "3.0.3", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "tzdata", + "release": "1.el9", + "srpm_name": "tzdata", + "srpm_nevra": "tzdata-0:2023c-1.el9.src", + "version": "2023c", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "unzip", + "release": "56.el9", + "srpm_name": "unzip", + "srpm_nevra": "unzip-0:6.0-56.el9.src", + "version": "6.0", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "usermode", + "release": "4.el9", + "srpm_name": "usermode", + "srpm_nevra": "usermode-0:1.114-4.el9.src", + "version": "1.114", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "util-linux", + "release": "11.el9_2", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9_2.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "util-linux-core", + "release": "11.el9_2", + "srpm_name": "util-linux", + "srpm_nevra": "util-linux-0:2.37.4-11.el9_2.src", + "version": "2.37.4", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "vim-filesystem", + "release": "20.el9_1", + "srpm_name": "vim", + "srpm_nevra": "vim-2:8.2.2637-20.el9_1.src", + "version": "8.2.2637", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "vim-minimal", + "release": "20.el9_1", + "srpm_name": "vim", + "srpm_nevra": "vim-2:8.2.2637-20.el9_1.src", + "version": "8.2.2637", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "virt-what", + "release": "3.el9", + "srpm_name": "virt-what", + "srpm_nevra": "virt-what-0:1.25-3.el9.src", + "version": "1.25", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "which", + "release": "28.el9", + "srpm_name": "which", + "srpm_nevra": "which-0:2.21-28.el9.src", + "version": "2.21", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "xz", + "release": "8.el9_0", + "srpm_name": "xz", + "srpm_nevra": "xz-0:5.2.5-8.el9_0.src", + "version": "5.2.5", + "_repositoryhint": "repoid=rhel-9-for-x86_64-baseos-rpms" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "xz-libs", + "release": "8.el9_0", + "srpm_name": "xz", + "srpm_nevra": "xz-0:5.2.5-8.el9_0.src", + "version": "5.2.5", + "_repositoryhint": "" + }, + { + "architecture": "noarch", + "gpg": "199e2f91fd431d51", + "name": "yum", + "release": "5.el9_2", + "srpm_name": "dnf", + "srpm_nevra": "dnf-0:4.14.0-5.el9.src", + "version": "4.14.0", + "_repositoryhint": "" + }, + { + "architecture": "x86_64", + "gpg": "199e2f91fd431d51", + "name": "zlib", + "release": "39.el9", + "srpm_name": "zlib", + "srpm_nevra": "zlib-0:1.2.11-39.el9.src", + "version": "1.2.11", + "_repositoryhint": "" + } + ] +} diff --git a/test/rpmtest/manifest.go b/test/rpmtest/manifest.go index fc6105693..b5818c9dc 100644 --- a/test/rpmtest/manifest.go +++ b/test/rpmtest/manifest.go @@ -17,14 +17,15 @@ type Manifest struct { RPM []ManifestRPM `json:"rpms"` } type ManifestRPM struct { - Name string `json:"name"` - Version string `json:"version"` - Release string `json:"release"` - Arch string `json:"architecture"` - SourceNEVRA string `json:"srpm_nevra"` - SourceName string `json:"srpm_name"` - GPG string `json:"gpg"` - Module string `json:"module"` + Name string `json:"name"` + Version string `json:"version"` + Release string `json:"release"` + Arch string `json:"architecture"` + SourceNEVRA string `json:"srpm_nevra"` + SourceName string `json:"srpm_name"` + GPG string `json:"gpg"` + Module string `json:"module"` + RepositoryHint string `json:"_repositoryhint,omitempty"` } func PackagesFromRPMManifest(t *testing.T, r io.Reader) []*claircore.Package { @@ -37,12 +38,19 @@ func PackagesFromRPMManifest(t *testing.T, r io.Reader) []*claircore.Package { srcs := make([]claircore.Package, 0, len(m.RPM)) src := make(map[string]*claircore.Package) for _, rpm := range m.RPM { + v, err := url.ParseQuery(rpm.RepositoryHint) + if err != nil { + t.Errorf("%s: %v", rpm.Name, err) + continue + } + v.Set("key", rpm.GPG) + p := claircore.Package{ Name: rpm.Name, Version: rpm.Version + "-" + rpm.Release, Kind: "binary", Arch: rpm.Arch, - RepositoryHint: url.Values{"key": {rpm.GPG}}.Encode(), + RepositoryHint: v.Encode(), Module: rpm.Module, } @@ -138,6 +146,45 @@ var ModuleCompare = cmp.FilterPath( ), ) +/* +type PackageDiff struct { + name []string +} + +// PushStep is called when a tree-traversal operation is performed. +// The PathStep itself is only valid until the step is popped. +// The PathStep.Values are valid for the duration of the entire traversal +// and must not be mutated. +// +// Equal always calls PushStep at the start to provide an operation-less +// PathStep used to report the root values. +// +// Within a slice, the exact set of inserted, removed, or modified elements +// is unspecified and may change in future implementations. +// The entries of a map are iterated through in an unspecified order. +func (d *PackageDiff) PushStep(step cmp.PathStep) { + if step.Type() != reflect.TypeFor[*claircore.Package]() { + return + } + lhs, _ := step.Values() + p := lhs.Interface().(*claircore.Package) + d.name = append(d.name, p.Name) +} + +// Report is called exactly once on leaf nodes to report whether the +// comparison identified the node as equal, unequal, or ignored. +// A leaf node is one that is immediately preceded by and followed by +// a pair of PushStep and PopStep calls. +func (d *PackageDiff) Report(result cmp.Result) { +} + +// PopStep ascends back up the value tree. +// There is always a matching pop call for every push call. +func (d *PackageDiff) PopStep() { + d.name = d.name[:len(d.name)-1] +} +*/ + // Does what it says on the tin. var ( SortPackages = cmpopts.SortSlices(func(a, b *claircore.Package) bool {