From 33add7aff7dfa597795cae122a5ccf295ced81b1 Mon Sep 17 00:00:00 2001 From: Stanislav Ochotnicky Date: Mon, 24 Apr 2017 14:07:15 +0200 Subject: [PATCH] Add Koji content generator class This commit adds support classes for koji content generator imports. Using this class will come later --- .../builder/KojiContentGenerator.py | 169 +++ tests/test_content_generator.py | 95 ++ ...st_get_generator_json_expected_output.json | 625 ++++++++++++ .../test_get_generator_json_rpms_in_tag.json | 962 ++++++++++++++++++ 4 files changed, 1851 insertions(+) create mode 100644 module_build_service/builder/KojiContentGenerator.py create mode 100644 tests/test_content_generator.py create mode 100644 tests/test_get_generator_json_expected_output.json create mode 100644 tests/test_get_generator_json_rpms_in_tag.json diff --git a/module_build_service/builder/KojiContentGenerator.py b/module_build_service/builder/KojiContentGenerator.py new file mode 100644 index 00000000..227cbd9a --- /dev/null +++ b/module_build_service/builder/KojiContentGenerator.py @@ -0,0 +1,169 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2017 Red Hat, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# +# Written by Stanislav Ochotnicky + + +import calendar +import logging +import platform +import hashlib + +import koji + +import module_build_service +from module_build_service import log +from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder + +logging.basicConfig(level=logging.DEBUG) + + +class KojiContentGenerator(object): + """ Class for handling content generator imports of module builds into Koji """ + + def __init__(self, module, config): + """ + :param owner: a string representing who kicked off the builds + :param module: module_build_service.models.ModuleBuild instance. + :param config: module_build_service.config.Config instance + """ + self.owner = module.owner + self.module = module + self.module_str = module.name + self.config = config + + + def __repr__(self): + return "" % (self.module_str) + + def _koji_rpms_in_tag(self, tag): + """ Return the list of koji rpms in a tag. """ + log.debug("Listing rpms in koji tag %s", tag) + session = KojiModuleBuilder.get_session(self.config, self.owner) + + try: + rpms, builds = session.listTaggedRPMS(tag, latest=True) + except koji.GenericError as e: + log.exception("Failed to list rpms in tag %r", tag) + # If the tag doesn't exist.. then there are no rpms in that tag. + return [] + + # Extract some srpm-level info from the build attach it to each rpm + builds = {build['build_id']: build for build in builds} + for rpm in rpms: + idx = rpm['build_id'] + rpm['srpm_name'] = builds[idx]['name'] + rpm['srpm_nevra'] = builds[idx]['nvr'] + + return rpms + + def _get_build(self): + ret = {} + ret['name'] = self.module.name + ret['version'] = self.module.stream + ret['release'] = self.module.version + ret['source'] = self.module.scmurl + ret['start_time'] = calendar.timegm( + self.module.time_submitted.utctimetuple()) + ret['end_time'] = calendar.timegm( + self.module.time_completed.utctimetuple()) + ret['extra'] = { + "typeinfo": { + "modulemd": { + "module_build_service_id": self.module.id, + "modulemd_str": self.module.modulemd + } + } + } + return ret + + def _get_buildroot(self): + import pkg_resources + version = pkg_resources.get_distribution("module-build-service").version + distro = platform.linux_distribution() + ret = { + "id": 1, + "host": { + "arch": platform.machine(), + 'os': "%s %s" % (distro[0], distro[1]) + }, + "content_generator": { + "name": "module-build-service", + "version": version + }, + "container": { + "arch": platform.machine(), + "type": "none" + }, + "components": [], + "tools": [] + } + return ret + + + + def _get_output(self): + ret = [] + rpms = self._koji_rpms_in_tag(self.module.koji_tag) + components = [] + for rpm in rpms: + components.append( + { + "name": rpm["name"], + "version": rpm["version"], + "release": rpm["release"], + "arch": rpm["arch"], + "epoch": rpm["epoch"], + "sigmd5": rpm["payloadhash"], + "type": "rpm" + } + ) + + ret.append( + { + 'buildroot_id': 1, + 'arch': "noarch", + 'type': 'modulemd', + 'filesize': len(self.module_str), + 'checksum_type': 'md5', + 'checksum': hashlib.md5(self.module_str).hexdigest(), + 'filename': 'modulemd.yaml', + 'components': components + } + ) + # TODO add logs output + return ret + + + def _get_content_generator_metadata(self): + ret = { + "metadata_version": 0, + "buildroots": [self._get_buildroot()], + "build": self._get_build(), + "output": self._get_output() + } + + return ret + + def koji_import(self): + session = KojiModuleBuilder.get_session(self.config, self.owner) + + metadata = self._get_content_generator_metadata() diff --git a/tests/test_content_generator.py b/tests/test_content_generator.py new file mode 100644 index 00000000..e2206240 --- /dev/null +++ b/tests/test_content_generator.py @@ -0,0 +1,95 @@ +# Copyright (c) 2016 Red Hat, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# +# Written by Stanislav Ochotnicky + +import unittest +import json +import vcr + +from os import path +from os.path import dirname + + +import module_build_service.messaging +import module_build_service.scheduler.handlers.repos +import module_build_service.utils +from module_build_service import models, conf + +from mock import patch, Mock + +from tests import init_data + +from module_build_service.builder.KojiContentGenerator import KojiContentGenerator + +base_dir = dirname(dirname(__file__)) +cassette_dir = base_dir + '/vcr-request-data/' + +user = ('Homer J. Simpson', set(['packager'])) + + +class TestBuild(unittest.TestCase): + + # Global variable used for tests if needed + _global_var = None + + def setUp(self): + init_data() + module = models.ModuleBuild.query.filter_by(id=1).one() + self.cg = KojiContentGenerator(module, conf) + + filename = cassette_dir + self.id() + self.vcr = vcr.use_cassette(filename) + self.vcr.__enter__() + + + def tearDown(self): + # Necessary to restart the twisted reactor for the next test. + import sys + del sys.modules['twisted.internet.reactor'] + del sys.modules['moksha.hub.reactor'] + del sys.modules['moksha.hub'] + import moksha.hub.reactor + self.vcr.__exit__() + + @patch("pkg_resources.get_distribution") + @patch("platform.linux_distribution") + @patch("platform.machine") + @patch("module_build_service.builder.KojiContentGenerator.KojiContentGenerator._koji_rpms_in_tag") + def test_get_generator_json(self, rpms_in_tag, machine, distro, pkg_res): + self.maxDiff = None + distro.return_value = ("Fedora", "25", "Twenty Five") + machine.return_value = "i686" + pkg_res.return_value = Mock() + pkg_res.return_value.version = "current-tested-version" + + tests_dir = path.abspath(path.dirname(__file__)) + rpm_in_tag_path = path.join(tests_dir, + "test_get_generator_json_rpms_in_tag.json") + with open(rpm_in_tag_path) as rpms_in_tag_file: + rpms_in_tag.return_value = json.load(rpms_in_tag_file) + + expected_output_path = path.join(tests_dir, + "test_get_generator_json_expected_output.json") + with open(expected_output_path) as expected_output_file: + expected_output = json.load(expected_output_file) + ret = self.cg._get_content_generator_metadata() + rpms_in_tag.assert_called_once() + self.assertEqual(expected_output, ret) diff --git a/tests/test_get_generator_json_expected_output.json b/tests/test_get_generator_json_expected_output.json new file mode 100644 index 00000000..fb42631d --- /dev/null +++ b/tests/test_get_generator_json_expected_output.json @@ -0,0 +1,625 @@ +{ + "buildroots": [{ + "id": 1, + "host": { + "arch": "i686", + "os": "Fedora 25" + }, + "content_generator": { + "name": "module-build-service", + "version": "current-tested-version" + }, + "tools": [], + "components": [], + "container": { + "arch": "i686", + "type": "none" + } + }], + "output": [ + { + "filename": "modulemd.yaml", + "buildroot_id": 1, + "components": [ + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-relay", + "release": "5.module_2118aef6", + "sigmd5": "90fa6038158ed88725a1e4d80abf489d" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-libs", + "release": "5.module_2118aef6", + "sigmd5": "0d5830920551ce9ed6ec3794347f2fce" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-devel", + "release": "5.module_2118aef6", + "sigmd5": "c705770bb47ef5786c8efa123f5fe797" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-client", + "release": "5.module_2118aef6", + "sigmd5": "14d454c33f0e69e34af2355297c3c9f0" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-server", + "release": "5.module_2118aef6", + "sigmd5": "18480b5d37274b933eccaf8600a4c039" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-compat", + "release": "5.module_2118aef6", + "sigmd5": "1e15de6b5a263bf407eb627f36cc6c0a" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "armv7hl", + "name": "dhcp-debuginfo", + "release": "5.module_2118aef6", + "sigmd5": "2d142f5d634b1595da9f84bfa9998eb8" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-compat", + "release": "5.module_2118aef6", + "sigmd5": "5bf7e2bb1e457d2d636d39b1f7dd2cd7" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-relay", + "release": "5.module_2118aef6", + "sigmd5": "4be0015f9290a8c7489f7e8240653730" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-client", + "release": "5.module_2118aef6", + "sigmd5": "54d581defa0de65df647691cc30b3c8d" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-server", + "release": "5.module_2118aef6", + "sigmd5": "8b6486cb5ba4dd1355e60d100ff2d269" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-libs", + "release": "5.module_2118aef6", + "sigmd5": "aaf81ee6c2bce98aa0b9ea7c4a912e08" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-debuginfo", + "release": "5.module_2118aef6", + "sigmd5": "5ba2750d1411f10be8d4c45bcdae3038" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "i686", + "name": "dhcp-devel", + "release": "5.module_2118aef6", + "sigmd5": "05c0a31a93e89e710d9df04ce943b339" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-debuginfo", + "release": "5.module_2118aef6", + "sigmd5": "3dadcbd5643f9228d2c63faa4c7261ac" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-client", + "release": "5.module_2118aef6", + "sigmd5": "2d9bf0c0415f5cea9c599b4a263ed6b7" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-relay", + "release": "5.module_2118aef6", + "sigmd5": "38d8e6c2cff7c6aab9ce607cd8b881ce" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-libs", + "release": "5.module_2118aef6", + "sigmd5": "0ed34d01f24c2e244aee09767d6eec2e" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-compat", + "release": "5.module_2118aef6", + "sigmd5": "fb645d96e97c24a4e6650344b38f5eb3" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-devel", + "release": "5.module_2118aef6", + "sigmd5": "0a21a17c8230c8c12ff588d4af0892b8" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64", + "name": "dhcp-server", + "release": "5.module_2118aef6", + "sigmd5": "2e5ab6824e0b13a6ca8f89a485cac034" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-relay", + "release": "5.module_2118aef6", + "sigmd5": "1f85196afd24e0664918ca781111e1c5" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-server", + "release": "5.module_2118aef6", + "sigmd5": "e1ef32e7da2c6767b9fb4b623525ab60" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-client", + "release": "5.module_2118aef6", + "sigmd5": "5adae02507dac66db420f8798111a282" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-debuginfo", + "release": "5.module_2118aef6", + "sigmd5": "1310c413efb5e4e6dff196a41b61ab16" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-compat", + "release": "5.module_2118aef6", + "sigmd5": "75be4f00e000f37b2b6ae9361d7a7f65" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-libs", + "release": "5.module_2118aef6", + "sigmd5": "1482a2638fe741086b453cf76645b61b" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "aarch64", + "name": "dhcp-devel", + "release": "5.module_2118aef6", + "sigmd5": "09b21aaf971818463a9d4fa31ade485e" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-server", + "release": "5.module_2118aef6", + "sigmd5": "0c1bed339fe3e71a0252fc69859c76e5" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-client", + "release": "5.module_2118aef6", + "sigmd5": "ae14bf7cac86f5f58ecb18ca2cdeb76e" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-compat", + "release": "5.module_2118aef6", + "sigmd5": "c6dc94a975e8939a73446f9a69da6718" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-relay", + "release": "5.module_2118aef6", + "sigmd5": "4bad7b8404596d0b48be22c9362d7b2c" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-debuginfo", + "release": "5.module_2118aef6", + "sigmd5": "19461ea5d257ffe0dda0dc56cf73ad5d" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-devel", + "release": "5.module_2118aef6", + "sigmd5": "2bcef78ccca5986db7d7fa5e5a9a40b8" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "ppc64le", + "name": "dhcp-libs", + "release": "5.module_2118aef6", + "sigmd5": "b9406e5356db6c36f15af21e4a8ddf7c" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-libs", + "release": "5.module_2118aef6", + "sigmd5": "499ae3c5ca57ef45d14643850da39e52" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-client", + "release": "5.module_2118aef6", + "sigmd5": "b40b18aced3a78a7c670135cb97bed2d" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-debuginfo", + "release": "5.module_2118aef6", + "sigmd5": "68e7c7ac713ba5cd6b49e3912fc74f56" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-devel", + "release": "5.module_2118aef6", + "sigmd5": "96c6c1b0a8bfc782f6dc4451f033cc3f" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-compat", + "release": "5.module_2118aef6", + "sigmd5": "03aaa447e471575b0ff6ba8dbd656ed6" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-server", + "release": "5.module_2118aef6", + "sigmd5": "12fb5fb1c246b3d357239b51034f66f5" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "noarch", + "name": "dhcp-common", + "release": "5.module_2118aef6", + "sigmd5": "d59b5a08ff2ab593978614ecf7f7f0c7" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "x86_64", + "name": "dhcp-relay", + "release": "5.module_2118aef6", + "sigmd5": "846faaa11674763b163c606d0f87a635" + }, + { + "epoch": 12, + "type": "rpm", + "version": "4.3.5", + "arch": "src", + "name": "dhcp", + "release": "5.module_2118aef6", + "sigmd5": "45c2f6b6131c68dc4da0833caeefa5d3" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "armv7hl", + "name": "bind99-devel", + "release": "5.P8.module_2118aef6", + "sigmd5": "891e4729ae04ef7d04ead60a884c1c3c" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "armv7hl", + "name": "bind99-debuginfo", + "release": "5.P8.module_2118aef6", + "sigmd5": "1c21d138cf080c00ce2cc5837e7b2b63" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "armv7hl", + "name": "bind99-libs", + "release": "5.P8.module_2118aef6", + "sigmd5": "45f88db7672bd209a9999b1e7a3d6410" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "i686", + "name": "bind99-libs", + "release": "5.P8.module_2118aef6", + "sigmd5": "e2d4a9a7ee3389e0cb354ac9590c573e" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "i686", + "name": "bind99-debuginfo", + "release": "5.P8.module_2118aef6", + "sigmd5": "b2c00bf25e3b943e2f8ff36a904cb6bd" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "i686", + "name": "bind99-devel", + "release": "5.P8.module_2118aef6", + "sigmd5": "d012ca49b66e81ee6d4350b7b27eadf0" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "ppc64", + "name": "bind99-libs", + "release": "5.P8.module_2118aef6", + "sigmd5": "6889d9619b2509d1d6019d4d585e1ace" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "ppc64", + "name": "bind99-devel", + "release": "5.P8.module_2118aef6", + "sigmd5": "758f99d5a885259c05b12422188c3367" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "ppc64", + "name": "bind99-debuginfo", + "release": "5.P8.module_2118aef6", + "sigmd5": "67fb6720b1fdc6a764fc64dc73362e19" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "aarch64", + "name": "bind99-devel", + "release": "5.P8.module_2118aef6", + "sigmd5": "055d1311d31db0279f554630f9c87bc4" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "aarch64", + "name": "bind99-libs", + "release": "5.P8.module_2118aef6", + "sigmd5": "c96f841ab07863b0e5dc40668328515d" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "aarch64", + "name": "bind99-debuginfo", + "release": "5.P8.module_2118aef6", + "sigmd5": "c04123eff71cae1b3ea6b76a44c83d66" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "ppc64le", + "name": "bind99-devel", + "release": "5.P8.module_2118aef6", + "sigmd5": "8db3604b46f68683dd7207e155fe6464" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "ppc64le", + "name": "bind99-libs", + "release": "5.P8.module_2118aef6", + "sigmd5": "629008b3edd9e5ef9a8eedf166351e62" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "ppc64le", + "name": "bind99-debuginfo", + "release": "5.P8.module_2118aef6", + "sigmd5": "b06998cfaf8f9f2b88d3d362472d7c55" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "x86_64", + "name": "bind99-libs", + "release": "5.P8.module_2118aef6", + "sigmd5": "6c9f40725a31320e698267110de19ca9" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "x86_64", + "name": "bind99-debuginfo", + "release": "5.P8.module_2118aef6", + "sigmd5": "ae381be6cccbdad9c15f370550c3e66a" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "x86_64", + "name": "bind99-devel", + "release": "5.P8.module_2118aef6", + "sigmd5": "9845ee96c4a4bfc84eaea2ba46104f5a" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "noarch", + "name": "bind99-license", + "release": "5.P8.module_2118aef6", + "sigmd5": "b60b539e075d68992bfd40346f9f7bd8" + }, + { + "epoch": null, + "type": "rpm", + "version": "9.9.9", + "arch": "src", + "name": "bind99", + "release": "5.P8.module_2118aef6", + "sigmd5": "38758ae862424b354b20d9d4d38be97e" + } + ], + "arch": "noarch", + "filesize": 5, + "checksum": "ee434023cf89d7dfb21f63d64f0f9d74", + "checksum_type": "md5", + "type": "modulemd" + } + ], + "metadata_version": 0, + "build": { + "version": "1", + "end_time": 1472901932, + "name": "nginx", + "release": "2", + "extra": { + "typeinfo": { + "modulemd": { + "module_build_service_id": 1, + "modulemd_str": "" + } + } + }, + "source": "git://pkgs.domain.local/modules/nginx?#ba95886c7a443b36a9ce31abda1f9bef22f2f8c9", + "start_time": 1472901800 + } +} diff --git a/tests/test_get_generator_json_rpms_in_tag.json b/tests/test_get_generator_json_rpms_in_tag.json new file mode 100644 index 00000000..f0060872 --- /dev/null +++ b/tests/test_get_generator_json_rpms_in_tag.json @@ -0,0 +1,962 @@ +[ + { + "build_id": 881907, + "name": "dhcp-relay", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519610, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "90fa6038158ed88725a1e4d80abf489d", + "size": 217814 + }, + { + "build_id": 881907, + "name": "dhcp-libs", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519609, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "0d5830920551ce9ed6ec3794347f2fce", + "size": 135498 + }, + { + "build_id": 881907, + "name": "dhcp-devel", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519608, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "c705770bb47ef5786c8efa123f5fe797", + "size": 116886 + }, + { + "build_id": 881907, + "name": "dhcp-client", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519607, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "14d454c33f0e69e34af2355297c3c9f0", + "size": 295382 + }, + { + "build_id": 881907, + "name": "dhcp-server", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519606, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "18480b5d37274b933eccaf8600a4c039", + "size": 491558 + }, + { + "build_id": 881907, + "name": "dhcp-compat", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519605, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "1e15de6b5a263bf407eb627f36cc6c0a", + "size": 87722 + }, + { + "build_id": 881907, + "name": "dhcp-debuginfo", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700546, + "id": 9519604, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319958, + "payloadhash": "2d142f5d634b1595da9f84bfa9998eb8", + "size": 1762550 + }, + { + "build_id": 881907, + "name": "dhcp-compat", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519603, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "5bf7e2bb1e457d2d636d39b1f7dd2cd7", + "size": 87702 + }, + { + "build_id": 881907, + "name": "dhcp-relay", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519602, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "4be0015f9290a8c7489f7e8240653730", + "size": 240638 + }, + { + "build_id": 881907, + "name": "dhcp-client", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519601, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "54d581defa0de65df647691cc30b3c8d", + "size": 324782 + }, + { + "build_id": 881907, + "name": "dhcp-server", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519600, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "8b6486cb5ba4dd1355e60d100ff2d269", + "size": 544070 + }, + { + "build_id": 881907, + "name": "dhcp-libs", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519599, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "aaf81ee6c2bce98aa0b9ea7c4a912e08", + "size": 147038 + }, + { + "build_id": 881907, + "name": "dhcp-debuginfo", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519598, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "5ba2750d1411f10be8d4c45bcdae3038", + "size": 1756854 + }, + { + "build_id": 881907, + "name": "dhcp-devel", + "extra": null, + "arch": "i686", + "buildtime": 1492700413, + "id": 9519597, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319954, + "payloadhash": "05c0a31a93e89e710d9df04ce943b339", + "size": 116854 + }, + { + "build_id": 881907, + "name": "dhcp-debuginfo", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519596, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "3dadcbd5643f9228d2c63faa4c7261ac", + "size": 1814630 + }, + { + "build_id": 881907, + "name": "dhcp-client", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519595, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "2d9bf0c0415f5cea9c599b4a263ed6b7", + "size": 328742 + }, + { + "build_id": 881907, + "name": "dhcp-relay", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519594, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "38d8e6c2cff7c6aab9ce607cd8b881ce", + "size": 244658 + }, + { + "build_id": 881907, + "name": "dhcp-libs", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519593, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "0ed34d01f24c2e244aee09767d6eec2e", + "size": 150898 + }, + { + "build_id": 881907, + "name": "dhcp-compat", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519592, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "fb645d96e97c24a4e6650344b38f5eb3", + "size": 87670 + }, + { + "build_id": 881907, + "name": "dhcp-devel", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519591, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "0a21a17c8230c8c12ff588d4af0892b8", + "size": 116842 + }, + { + "build_id": 881907, + "name": "dhcp-server", + "extra": null, + "arch": "ppc64", + "buildtime": 1492700534, + "id": 9519590, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319957, + "payloadhash": "2e5ab6824e0b13a6ca8f89a485cac034", + "size": 542926 + }, + { + "build_id": 881907, + "name": "dhcp-relay", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519589, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "1f85196afd24e0664918ca781111e1c5", + "size": 231858 + }, + { + "build_id": 881907, + "name": "dhcp-server", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519588, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "e1ef32e7da2c6767b9fb4b623525ab60", + "size": 527954 + }, + { + "build_id": 881907, + "name": "dhcp-client", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519587, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "5adae02507dac66db420f8798111a282", + "size": 313326 + }, + { + "build_id": 881907, + "name": "dhcp-debuginfo", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519586, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "1310c413efb5e4e6dff196a41b61ab16", + "size": 1809826 + }, + { + "build_id": 881907, + "name": "dhcp-compat", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519585, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "75be4f00e000f37b2b6ae9361d7a7f65", + "size": 87674 + }, + { + "build_id": 881907, + "name": "dhcp-libs", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519584, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "1482a2638fe741086b453cf76645b61b", + "size": 143798 + }, + { + "build_id": 881907, + "name": "dhcp-devel", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700521, + "id": 9519583, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319956, + "payloadhash": "09b21aaf971818463a9d4fa31ade485e", + "size": 116854 + }, + { + "build_id": 881907, + "name": "dhcp-server", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519582, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "0c1bed339fe3e71a0252fc69859c76e5", + "size": 547290 + }, + { + "build_id": 881907, + "name": "dhcp-client", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519581, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "ae14bf7cac86f5f58ecb18ca2cdeb76e", + "size": 332302 + }, + { + "build_id": 881907, + "name": "dhcp-compat", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519580, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "c6dc94a975e8939a73446f9a69da6718", + "size": 87702 + }, + { + "build_id": 881907, + "name": "dhcp-relay", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519579, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "4bad7b8404596d0b48be22c9362d7b2c", + "size": 246754 + }, + { + "build_id": 881907, + "name": "dhcp-debuginfo", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519578, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "19461ea5d257ffe0dda0dc56cf73ad5d", + "size": 1821430 + }, + { + "build_id": 881907, + "name": "dhcp-devel", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519577, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "2bcef78ccca5986db7d7fa5e5a9a40b8", + "size": 116878 + }, + { + "build_id": 881907, + "name": "dhcp-libs", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492700513, + "id": 9519576, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319955, + "payloadhash": "b9406e5356db6c36f15af21e4a8ddf7c", + "size": 150934 + }, + { + "build_id": 881907, + "name": "dhcp-libs", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519575, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "499ae3c5ca57ef45d14643850da39e52", + "size": 141850 + }, + { + "build_id": 881907, + "name": "dhcp-client", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519574, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "b40b18aced3a78a7c670135cb97bed2d", + "size": 314414 + }, + { + "build_id": 881907, + "name": "dhcp-debuginfo", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519573, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "68e7c7ac713ba5cd6b49e3912fc74f56", + "size": 1762038 + }, + { + "build_id": 881907, + "name": "dhcp-devel", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519572, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "96c6c1b0a8bfc782f6dc4451f033cc3f", + "size": 116850 + }, + { + "build_id": 881907, + "name": "dhcp-compat", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519571, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "03aaa447e471575b0ff6ba8dbd656ed6", + "size": 87682 + }, + { + "build_id": 881907, + "name": "dhcp-server", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519570, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "12fb5fb1c246b3d357239b51034f66f5", + "size": 529398 + }, + { + "build_id": 881907, + "name": "dhcp-common", + "extra": null, + "arch": "noarch", + "buildtime": 1492700424, + "id": 9519569, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "d59b5a08ff2ab593978614ecf7f7f0c7", + "size": 203034 + }, + { + "build_id": 881907, + "name": "dhcp-relay", + "extra": null, + "arch": "x86_64", + "buildtime": 1492700424, + "id": 9519568, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "846faaa11674763b163c606d0f87a635", + "size": 231778 + }, + { + "build_id": 881907, + "name": "dhcp", + "extra": null, + "arch": "src", + "buildtime": 1492700381, + "id": 9519567, + "epoch": 12, + "version": "4.3.5", + "metadata_only": false, + "release": "5.module_2118aef6", + "buildroot_id": 8319953, + "payloadhash": "45c2f6b6131c68dc4da0833caeefa5d3", + "size": 10261804 + }, + { + "build_id": 881899, + "name": "bind99-devel", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700171, + "id": 9519545, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319861, + "payloadhash": "891e4729ae04ef7d04ead60a884c1c3c", + "size": 244318 + }, + { + "build_id": 881899, + "name": "bind99-debuginfo", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700171, + "id": 9519544, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319861, + "payloadhash": "1c21d138cf080c00ce2cc5837e7b2b63", + "size": 2207398 + }, + { + "build_id": 881899, + "name": "bind99-libs", + "extra": null, + "arch": "armv7hl", + "buildtime": 1492700171, + "id": 9519543, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319861, + "payloadhash": "45f88db7672bd209a9999b1e7a3d6410", + "size": 612470 + }, + { + "build_id": 881899, + "name": "bind99-libs", + "extra": null, + "arch": "i686", + "buildtime": 1492699799, + "id": 9519542, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319866, + "payloadhash": "e2d4a9a7ee3389e0cb354ac9590c573e", + "size": 718606 + }, + { + "build_id": 881899, + "name": "bind99-debuginfo", + "extra": null, + "arch": "i686", + "buildtime": 1492699799, + "id": 9519541, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319866, + "payloadhash": "b2c00bf25e3b943e2f8ff36a904cb6bd", + "size": 2197774 + }, + { + "build_id": 881899, + "name": "bind99-devel", + "extra": null, + "arch": "i686", + "buildtime": 1492699799, + "id": 9519540, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319866, + "payloadhash": "d012ca49b66e81ee6d4350b7b27eadf0", + "size": 245178 + }, + { + "build_id": 881899, + "name": "bind99-libs", + "extra": null, + "arch": "ppc64", + "buildtime": 1492699851, + "id": 9519539, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319864, + "payloadhash": "6889d9619b2509d1d6019d4d585e1ace", + "size": 741574 + }, + { + "build_id": 881899, + "name": "bind99-devel", + "extra": null, + "arch": "ppc64", + "buildtime": 1492699851, + "id": 9519538, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319864, + "payloadhash": "758f99d5a885259c05b12422188c3367", + "size": 244958 + }, + { + "build_id": 881899, + "name": "bind99-debuginfo", + "extra": null, + "arch": "ppc64", + "buildtime": 1492699851, + "id": 9519537, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319864, + "payloadhash": "67fb6720b1fdc6a764fc64dc73362e19", + "size": 2311186 + }, + { + "build_id": 881899, + "name": "bind99-devel", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700021, + "id": 9519536, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319863, + "payloadhash": "055d1311d31db0279f554630f9c87bc4", + "size": 244306 + }, + { + "build_id": 881899, + "name": "bind99-libs", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700021, + "id": 9519535, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319863, + "payloadhash": "c96f841ab07863b0e5dc40668328515d", + "size": 677390 + }, + { + "build_id": 881899, + "name": "bind99-debuginfo", + "extra": null, + "arch": "aarch64", + "buildtime": 1492700021, + "id": 9519534, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319863, + "payloadhash": "c04123eff71cae1b3ea6b76a44c83d66", + "size": 2278098 + }, + { + "build_id": 881899, + "name": "bind99-devel", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492699845, + "id": 9519533, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319870, + "payloadhash": "8db3604b46f68683dd7207e155fe6464", + "size": 244342 + }, + { + "build_id": 881899, + "name": "bind99-libs", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492699845, + "id": 9519532, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319870, + "payloadhash": "629008b3edd9e5ef9a8eedf166351e62", + "size": 741266 + }, + { + "build_id": 881899, + "name": "bind99-debuginfo", + "extra": null, + "arch": "ppc64le", + "buildtime": 1492699845, + "id": 9519531, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319870, + "payloadhash": "b06998cfaf8f9f2b88d3d362472d7c55", + "size": 2299454 + }, + { + "build_id": 881899, + "name": "bind99-libs", + "extra": null, + "arch": "x86_64", + "buildtime": 1492699742, + "id": 9519530, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319862, + "payloadhash": "6c9f40725a31320e698267110de19ca9", + "size": 684922 + }, + { + "build_id": 881899, + "name": "bind99-debuginfo", + "extra": null, + "arch": "x86_64", + "buildtime": 1492699742, + "id": 9519529, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319862, + "payloadhash": "ae381be6cccbdad9c15f370550c3e66a", + "size": 2323886 + }, + { + "build_id": 881899, + "name": "bind99-devel", + "extra": null, + "arch": "x86_64", + "buildtime": 1492699742, + "id": 9519528, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319862, + "payloadhash": "9845ee96c4a4bfc84eaea2ba46104f5a", + "size": 245178 + }, + { + "build_id": 881899, + "name": "bind99-license", + "extra": null, + "arch": "noarch", + "buildtime": 1492699742, + "id": 9519527, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319862, + "payloadhash": "b60b539e075d68992bfd40346f9f7bd8", + "size": 12726 + }, + { + "build_id": 881899, + "name": "bind99", + "extra": null, + "arch": "src", + "buildtime": 1492699590, + "id": 9519526, + "epoch": null, + "version": "9.9.9", + "metadata_only": false, + "release": "5.P8.module_2118aef6", + "buildroot_id": 8319862, + "payloadhash": "38758ae862424b354b20d9d4d38be97e", + "size": 8773419 + } +]